[LLVMdev] CallGraph

Duncan Sands baldrick at free.fr
Fri Apr 26 04:04:16 PDT 2013


Hi,

On 26/04/13 11:19, Alexandru Ionut Diaconescu wrote:
> Hello,
>
> I try to make a big CFG (control flow graph) by combining all the CFG-s from all
> the functions of a module. I still have one problem : I want to get the links
> between functions.
>
> For CFG-s, I used CallGraphNode->second->getFunction, then Function_iterators
> and succ_iterators, so I have all the links between BBs. Now, the questions is
> how do I link BBs from different functions?
>
> I can do it in a way not so elegant. Take the last BB of every function, then
> getTerminator and see that function it is called and then link to
> (instruction-2-instruction).

calls don't have to be terminators, so that wouldn't work properly anyway.

>
> There must be there a better way to get the linkage between BBs that are in
> different functions.

Sure, take a look at include/llvm/Analysis/CallGraph.h

Ciao, Duncan.



More information about the llvm-dev mailing list