Hello.
I am trying to build against the latest LLVM source from GitHub (from Jan 23 2021) my Connex processor back end, which is mostly inspired from the BPF and Mips back end.
I did my best to correct all the errors that appeared, but I now get a rather strange linker error that I don't know exactly how to solve (maybe somebody is more experienced than me on this). Maybe I have an error in lib/Target/Connex/CMakeLists.txt.
The error I get while building LLVM is:
<<cd /home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/build/lib/Target/Connex && /usr/bin/cmake \-E cmake\_link\_script CMakeFiles/LLVMConnexCodeGen\.dir/link\.txt \-\-verbose=1
/usr/bin/c\+\+ \-fPIC \-fPIC \-fvisibility\-inlines\-hidden \-Werror=date\-time \-Wall \-Wextra \-Wno\-unused\-parameter \-Wwrite\-strings \-Wcast\-qual \-Wno\-missing\-field\-initializers \-pedantic \-Wno\-long\-long \-Wimplicit\-fallthrough \-Wno\-maybe\-uninitialized \-Wno\-class\-memaccess \-Wno\-redundant\-move \-Wno\-noexcept\-type \-Wdelete\-non\-virtual\-dtor \-Wsuggest\-override \-Wno\-comment \-g \-Wl,\-rpath\-link,/home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/build/\./lib \-Wl,\-z,defs \-Wl,\-z,nodelete \-shared \-Wl,\-soname,libLLVMConnexCodeGen\.so\.12git \-o \.\./\.\./libLLVMConnexCodeGen\.so\.12git CMakeFiles/LLVMConnexCodeGen\.dir/ConnexAsmPrinter\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexFrameLowering\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexHazardRecognizer\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexInstrInfo\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexISelDAGToDAG\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexISelLowering\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexMCInstLower\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexRegisterInfo\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexSelectionDAGInfo\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexSubtarget\.cpp\.o CMakeFiles/LLVMConnexCodeGen\.dir/ConnexTargetMachine\.cpp\.o \-Wl,\-rpath,"\\$ORIGIN/\.\./lib" \.\./\.\./libLLVMAsmPrinter\.so\.12git \.\./\.\./libLLVMConnexDesc\.so\.12git \.\./\.\./libLLVMConnexInfo\.so\.12git \.\./\.\./libLLVMSelectionDAG\.so\.12git \.\./\.\./libLLVMCodeGen\.so\.12git \.\./\.\./libLLVMTarget\.so\.12git \.\./\.\./libLLVMMC\.so\.12git \.\./\.\./libLLVMCore\.so\.12git \.\./\.\./libLLVMSupport\.so\.12git \-Wl,\-rpath\-link,/home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/build/lib
/usr/bin/ld: CMakeFiles/LLVMConnexCodeGen\.dir/ConnexTargetMachine\.cpp\.o: in function \`llvm::TargetTransformInfo::Model<llvm::ConnexTTIImpl>::\~Model\(\)':
/home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/llvm/include/llvm/Analysis/TargetTransformInfo\.h:1672: undefined reference to \`llvm::TargetTransformInfo::Concept::\~Concept\(\)'
/usr/bin/ld: CMakeFiles/LLVMConnexCodeGen\.dir/ConnexTargetMachine\.cpp\.o: in function \`llvm::TargetTransformInfoImplCRTPBase<llvm::ConnexTTIImpl>::getUserCost\(llvm::User const\*, llvm::ArrayRef<llvm::Value const\*>, llvm::TargetTransformInfo::TargetCostKind\)':
/home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/llvm/include/llvm/Analysis/TargetTransformInfoImpl\.h:911: undefined reference to \`llvm::IntrinsicCostAttributes::IntrinsicCostAttributes\(unsigned int, llvm::CallBase const&\)'
/usr/bin/ld: /home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/llvm/include/llvm/Analysis/TargetTransformInfoImpl\.h:953: undefined reference to \`llvm::TargetTransformInfo::getOperandInfo\(llvm::Value const\*, llvm::TargetTransformInfo::OperandValueProperties&\)'
\.\.\.
/usr/bin/ld: /home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/llvm/include/llvm/CodeGen/BasicTTIImpl\.h:1805: undefined reference to \`llvm::IntrinsicCostAttributes::IntrinsicCostAttributes\(unsigned int, llvm::Type\*, llvm::ArrayRef<llvm::Type\*>\)'
/usr/bin/ld: /home/asusu/LLVM/llvm2021\_01\_23/llvm\-project/llvm/include/llvm/CodeGen/BasicTTIImpl\.h:1826: undefined reference to \`llvm::IntrinsicCostAttributes::IntrinsicCostAttributes\(unsigned int, llvm::Type\*, llvm::ArrayRef<llvm::Type\*>, llvm::FastMathFlags\)'
collect2: error: ld returned 1 exit status>>
Please find if you have the time also most of the source files of my Connex LLVM back end in the ZIP archive at this address: https://sites.google.com/site/alexsusu/myfilecabinet/Connex_be.zip \(please note the file ERROR\_LINKER\.txt contains the above mentioned linker error\)\.
Please let me know if you want me to provide any further information about my build.
Thank you very much,
Alex