[LLVMdev] CallGraph

Alexandru Ionut Diaconescu alexandruionutdiaconescu at gmail.com
Fri Apr 26 04:17:36 PDT 2013


Thanks for the response.
I looked and I cannot see what exactly I need. I saw getCalledFunction() so
I need CallSite CS(cast<Value>(II)) where II is a basic block iterator, so
an instruction. It seems not easier than the "unelegant" version....if I am
still at the Instruction level...

I need a method that takes from a "leaf" basic block from a function (Maybe
there is the possibility not to have only one "end" basic block) the
connection with an entry basic block of another function.

Thank you !



On Fri, Apr 26, 2013 at 1:04 PM, Duncan Sands <baldrick at free.fr> wrote:

> 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.
> ______________________________**_________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>



-- 
Best regards,
Alexandru Ionut Diaconescu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130426/fe207c41/attachment.html>


More information about the llvm-dev mailing list