[llvm-dev] Check if value operand to store instruction is defined in this instruction (original) (raw)

alexp via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 23 10:38:20 PST 2019


Hi Alberto,

i need to check for the difference for all possible types being able to get stored, so I need a general solution.

Do you think there might be problems with using

getValueOperand.hasOneUse() ?

Thanks!

Alex

On 1/22/19 3:37 PM, alexp via llvm-dev 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



More information about the llvm-dev mailing list