[LLVMdev] Two quick questions on call graph nodes

Duncan Sands baldrick at free.fr
Mon Jun 7 08:45:56 PDT 2010


Hi Xiaolong,

> First, there is a "indirect call node" dominating all other nodes
> (include "main"). My question is: what does this special node serves
> for?

what version of LLVM are you using?  I don't think LLVM 2.7 uses a
"indirect call node".  However it does use a "external node", which
is used when a function external to the current module is called.

> Second, there are two identical functions except that the functions
> have slightly different names.
>
>    define void @_ZN6StringC2Ev(%struct.String* %this) nounwind ssp {}
>    define void @_ZN6StringC1Ev(%struct.String* %this) nounwind ssp {}
>
> So, why is it so?

These are generated by the C++ front-end, and represent the base object
constructor and the complete object constructor respectively.

Ciao,

Duncan.



More information about the llvm-dev mailing list