[LLVMdev] get ref to parent instruction
ofv at wanadoo.es
Tue Jan 8 15:35:59 PST 2013
Eduardo <erocha.ssa at gmail.com> writes:
> How can I get a reference to an instruction if I have a reference to
> an operand? For example, let suppose I have a reference to the
> ConstantExpr "getelementptr inbounds" in the following instruction:
> %4 = getelementptr i32* getelementptr inbounds ([8 x i32]*
> @__mem_grid_MOD_nnyp, i32 0, i32 0), i32 %3
> then, how can I get a reference to the GetElementPtrInst object?
A given Value instance can be an operand of multiple instructions.
> The reason I need that is because I want to change every instruction
> that uses certain variables (in the example above the
> __mem_grid_MOD_nnyp variable). The problem is that for the example I
> showed the actual user of the variable is a ConstantExpr object and
> not the GetElementPtrInst object.
You can traverse the User's of a Value with the iterators returned by
Value::use_begin and Value::use_end methods.
More information about the llvm-dev