[llvm-dev] How to know the sub-class of a Value class?

Dipanjan Das via llvm-dev llvm-dev at lists.llvm.org
Sun Jun 11 23:09:39 PDT 2017


On 11 June 2017 at 23:03, Craig Topper <craig.topper at gmail.com> wrote:

> Try value->dump() assuming you're using a debug build.
>
>
The information displayed is non-uniform. There are two different cases
based on my sample program:

         (1) dump() shows the Type and *some* value which I don't
understand what it is
         (2) dump() shows the instruction that creates the Value*

But, it doesn't display the concrete sub-class.



> ~Craig
>
> On Sun, Jun 11, 2017 at 10:54 PM, Dipanjan Das via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>>
>> As a concrete question, I understand 'Value' class is the parent of many
>> concrete sub-classes. Let's say I retrieve a Value* value =
>> store_inst->getValueOperand(). Unless I know what the sub-type is, how can
>> I further use this object? I tried something like this:
>>
>> =================================================
>>
>>          Value* value = store_inst->getValueOperand()
>>          errs() << value->getValueID; // Which ID corresponds to which
>> sub-class?
>>          errs() << value->getValueName(); // Prints numeric memory
>> addresses
>>          errs() << *value->getValueName(); // Doesn't compile
>>
>> =================================================
>>
>> I have mentioned the issues in each of the cases above. I am not sure if
>> the approach is correct or not. Please help me out.
>>
>> --
>>
>> Thanks & Regards,
>> Dipanjan
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>


-- 

Thanks & Regards,
Dipanjan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170611/7adf551d/attachment.html>


More information about the llvm-dev mailing list