[LLVMdev] Regarding a pass in LLVM

John Criswell
Mon, 22 Feb 2010 20:25:54 -0000

ambika at cse.iitb.ac.in wrote:
> Hi,
>
> I am trying to add a pass inn LLVM, and I actually want to add it in
> source code, not just directly into object code.
>
> For that I included the lines in my file MyAna.cpp
> (llvm-2.6/lib/ana/MyAna.cpp)
>
>
> char MyAna::ID = 0;
> static RegisterPass<MyAna> X("my-aa","My
Analysis");
> static RegisterAnalysisGroup<AliasAnalysis> Y(X);
>
> ModulePass *llvm::createMyAnaPass() { return new MyAna(); }
>
>
> I also included createMyAnaPass() in Passes.h and LinkAllPasses.h
> But when I do make I get the following error :
>
> /home/ambika/llvm/llvm-obj/tools/opt/Release/opt.o: In function `global
> constructors keyed to opt.cpp':
> opt.cpp:(.text+0x1e89): undefined reference to
`llvm::createMyAnaPass()'
>
>
> Am I missing out something.
>
Have you modified the Makefile in tools/opt to link in the library
containing your pass?  Your pass doesn't appear to be placed in
libAnalysis or libTransform, so you'll need to modify the opt Makefile
to link in whatever your library's name is.

-- John T.

> Please help me.
>
> thanks and regards,
> Ambika
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>