[LLVMdev] Identifying classes and its member functions

Sandeep 2sandeepchandran at gmail.com
Wed Jul 6 21:45:43 PDT 2011


We have built a tool which will take in a CDFG (in a particular format) and
do some design automation based on it. The effort is to extend this tool to
take an input from in the form of a systemC (extension of C++) code. The IR
was used to generate the CDFG of the source code.

But the requirement is to generate the CDFG of only a specific function and
hence I am looking to iterate over the member functions only. Currently, I
was achieving this by filtering out the function by their name. But
evidently this is inefficient.

Will I be able to achieve this (iterating over member functions alone and
generate a CDFG of it) using clang?

Regards,
Sandeep


On Thu, Jul 7, 2011 at 9:47 AM, David Blaikie <dblaikie at gmail.com> wrote:

> 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.
>>
>
> Indeed, as you've seen (& so far as I know), LLVM IR is too low level for
> your task - there are no member functions at this level, they've all been
> transformed into free functions and structs.
>
> What kind of optimization were you hoping to implement based on this
> information?
>
> If you aren't trying to implement an optimization, but instead try to
> process source code in some way (indexing, source to source transformations,
> etc) then you might want to use clang instead.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110707/5ba01f7c/attachment.html>


More information about the llvm-dev mailing list