[llvm-dev] link error for analysis pass
Mehdi Amini via llvm-dev
llvm-dev at lists.llvm.org
Fri Dec 4 14:50:52 PST 2015
> On Dec 4, 2015, at 2:36 PM, Alex S <alexmountain13 at gmail.com> wrote:
> Hi Mehdi,
> I meant when I build the LLVM and it will give the following errors:
> make: Entering directory `/home/alex/new/llvm-obj/tools/llc'
> llvm: Linking Debug+Asserts executable llc
> /home/alex/new/llvm-obj/Debug+Asserts/lib/libLLVMCodeGen.a(Passes.o): In function `llvm::TargetPassConfig::addIRPasses()':
> /home/alex/new/llvm-3.1.src/lib/CodeGen/Passes.cpp:295: undefined reference to `llvm::createMyAliasAnalysisPass()'
> collect2: ld returned 1 exit status
> make: *** [/home/alex/new/llvm-obj/Debug+Asserts/bin/llc] Error 1
> make: Leaving directory `/home/alex/new/llvm-obj/tools/llc'
> make: *** [llc/.makeall] Error 2
> make: Leaving directory `/home/alex/new/llvm-obj/tools'
> make: *** [all] Error 1
Since you created a new library, you need to add it as a dependency wherever you’re calling into it: see lib/CodeGen/LLVMBuild.txt
Also, on a side note, the Makefile/autotools build is deprecated, you may want to look at cmake.
> On Fri, Dec 4, 2015 at 5:17 PM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
> > On Dec 4, 2015, at 1:37 PM, Alex S via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> > Hi all,
> > I create a folder containing my new alias analysis pass in the lib/Analysis folder of the source tree.
> > I mimic the way IPA did to create a LLVMipa.a library. That is, I write a Makefile to create my library
> > and I change the Makefile correspondingly in the Analysis folder.
> > However, when I want to use my new alias analysis in the Codegen. The compiler will complain
> > "undefined error" during the link phase. Could anyone point me out where I need to change in order
> > to use my new alias analysis pass in the Codegen?
> Can you provide the link command that fails and the output?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev