[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 12:10:14 PST 2016


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.

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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161215/c7b34671/attachment.html>


More information about the llvm-dev mailing list