[LLVMdev] Identifying classes and its member functions

Sandeep 2sandeepchandran at gmail.com
Wed Jul 6 20:52:38 PDT 2011


Hi,

I am new to LLVM and am trying to identify all the member functions of a
class.

Currently, I am converting the source code into the IR using a llvm
frontend. I have written a module-pass which will take in the IR thus
generated and iterate over the various types (classes/structs) defined in
the source. For every such type, I will iterate over the sub-types (types of
its members). I was expecting to see a member of type *FunctionTyID* to
indicate a member function but this is not the case. Hence, I am not able to
iterate over the member functions.

On looking into the IR (dumped out in human readable format), I see that the
class defined in the source code has been stripped out of its member
functions and only a structure containing the member variables is created.
The member functions are written out separately with their mangled names.
Hence, I suspect if it is possible to iterate over only the member functions
of a particular class.

Kindly let me know if my approach is correct when it comes to identifying
only the member functions of a class. If not, please suggest the best method
of doing so. Please let me know if you need any further
information/clarification.

Regards,
Sandeep
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110707/9da94e88/attachment.html>


More information about the llvm-dev mailing list