[llvm-dev] Check if value operand to store instruction is defined in this instruction
Alberto Barbaro via llvm-dev
llvm-dev at lists.llvm.org
Tue Jan 22 11:44:17 PST 2019
Hi Alex,
Can't you just just if the first operand is a ConstantInt? If you need to
differentiate only these 2 cases it should be fine.
Thanks
On Tue, Jan 22, 2019, 14:37 alexp via llvm-dev <llvm-dev at lists.llvm.org
wrote:
> Hi all,
>
> the store instruction allows to define values, e.g.:
>
>
> %ptr = alloca i32 ; yields i32*:ptr
> store i32 3, i32* %ptr
>
> lets name this 'type1 store'; this is different from 'type2 store'
>
> %val = load i32, i32* %someptr
> %ptr = alloca i32 ; yields i32*:ptr
> store %val, i32* %ptr ; yields void
>
>
> When now later on manipulating the instructions of a function, can I
> tell if I deal with type1 or type 2 store?
>
> In case of type1 I could e.g. alter the value; in type 2 not.
>
> My best guess is something like:
> storeInstructionInstance.getValueOperand.hasOneUse()
> true: only used within this storeInstruction, else value is
> introduced/used elsewhere.
>
> Is this correct?
>
> Thanks!
>
> Alex
>
>
>
>
> p.s.:
>
> it's been a while since my last post to llvm-dev. Is this still the
> place for such questions? If not, pleas point me where to ask this sort
> of questions.
> Thanks
> _______________________________________________
> 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/20190122/fb10eced/attachment.html>
More information about the llvm-dev
mailing list