[LLVMdev] Problem of use CallGraph
Welson Sun
welson.sun at gmail.com
Fri Aug 17 10:14:55 PDT 2012
This is what you need:
#include "llvm/InitializePasses.h"
PassRegistry &Registry = *PassRegistry::getPassRegistry();
initializeBasicCallGraphPass(Registry);
-Welson
On Fri, Aug 17, 2012 at 1:36 AM, Hongbin Zheng <etherzhhb at gmail.com> wrote:
> On Fri, Aug 17, 2012 at 4:23 PM, Jianfei Hu <hujianfei258 at gmail.com>
> wrote:
> > Hello,
> > I want to traverse CallGraph
> >
> > code segment:
> >
> >
> > virtual void getAnalysisUsage(AnalysisUsage &AU) const
> > {
> > AU.addRequired<CallGraph>();
> > }
> >
> > virtual bool runOnModule(Module &F)
> > {
> > CallGraph &g = getAnalysis<CallGraph>();
> > for ( CallGraph::iterator i = g.begin(); i !=
> g.end(); i++)
> > {
> > errs()<<"-----------------\n";
> You may try something like this:
> if (CallGraphNode *CGN = i->second)
> ... CGN->getFunction()->getName() ...
> >
> errs()<<i->second->getFunction()->getName()<<"\n";
> > }
> > return false;
> > }
> >
> > Compile:
> > g++ -fPIC -shared `llvm-config --cxxflags` -o MPIAnalysis.so
> MPIAnalysis.cpp,
> >
> > when I use following command to run:
> > opt -load ./MPIAnalysis.so -hello < main
> > it shows the error:
> >
> > -----------------
> > 0 opt 0x085cddc8
> > Stack dump:
> > 0. Program arguments: opt -load ./MPIAnalysis.so -hello
> > 1. Running pass 'Hello World Pass' on module '<stdin>'.
> > Segmentation Error
> >
> > I found similar Problem in
> > http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-July/033133.html
> > But all function are defined in single binary IR file 'main', none of
> > them are external.
> >
> > Why could not print the name of CallGraphNode's function name?
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
--
Welson
Phone: (408) 418-8385
Email: welson.sun at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120817/8b5ec4e2/attachment.html>
More information about the llvm-dev
mailing list