[llvm-dev] How to get the value for casting in a bitcast instruction more efficiently?
Shen Liu via llvm-dev
llvm-dev at lists.llvm.org
Thu Dec 15 13:37:21 PST 2016
Better than my way, thank you Mehdi!
On Thu, Dec 15, 2016 at 4:31 PM, Mehdi Amini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
> On Dec 15, 2016, at 12:10 PM, Shen Liu via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Hi Ryan,
>
> Thanks for your reply! Yes i can use llvm::Use.get() API to do this, i
> just want to know whether there's a better way(e.g. an existed API like
> getValue()) to make my code look more professional.
>
>
> CastInst->getOperand(0) ?
>
> —
> Mehdi
>
>
>
>
>
> On Thu, Dec 15, 2016 at 2:58 PM, Ryan Taylor via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> This might help:
>>
>> http://llvm.org/docs/ProgrammersManual.html#the-value-class
>>
>> Or maybe I'm misunderstanding what you mean by "efficient way to get the
>> value". When you say 'value', I'm assuming you mean the class. In your
>> case, AllocaInst inherits from value.
>>
>> -Ryan
>>
>> On Thu, Dec 15, 2016 at 10:24 AM, Shen Liu via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>> Hi everyone,
>>>
>>> This is a simple question but is there an efficient way to get the *value for casting* directly from a bitcast instruction?
>>>
>>> bitcast format :<result> = bitcast <ty> <*value*> to <ty2>
>>>
>>> For example, if i have
>>>
>>> MemAddr
>>> ...
>>> 0x3d61238 %key = alloca [16 x i8], align 16
>>> 0x3d612a8 %plain_text = alloca [64 x i8], align 16
>>> 0x3d61318 %key1 = bitcast [16 x i8]* %key to i8*
>>> ...
>>>
>>> The way i am using is processing all opcodes in %key1, and go back to find %key along the def-use chain. But is there a better way for doing this?
>>>
>>> Thanks very much!
>>>
>>> Best
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> llvm-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161215/62f1ec98/attachment.html>
More information about the llvm-dev
mailing list