[LLVMdev] How to get the indices in an getelementptr Value?
Michael Zolotukhin
mzolotukhin at apple.com
Sat Nov 22 00:49:51 PST 2014
Hi Qiuping,
I guess you need to use getPointerOperand to access the pointer operand (@globalArg in your example) and idx_begin/idx_end iterators to access indexes. You can find a short description of these functions in documentation [1], or look at examples of their uses in the code, e.g. in lib/Transforms/InstCombine/*.cpp.
[1] http://llvm.org/doxygen/classllvm_1_1GetElementPtrInst.html <http://llvm.org/doxygen/classllvm_1_1GetElementPtrInst.html>
Best regards,
Michael
> On Nov 22, 2014, at 12:32 AM, Qiuping Yi <yiqiuping at gmail.com> wrote:
>
> Hi, all
>
> I am a LLVM user. I want to get every element in the next instruction:
>
> %0 = load i32* getelementptr inbounds (%struct.Args* @globalArg, i64 0, i32 2), align 4, !dbg !85, !clap !86
>
> Now I can only get value "i32* getelementptr inbounds (%struct.Args* @globalArg, i64 0, i32 2)" through "getOperand(0)",
> but I can not get "%struct.Args* @globalArg", "i64 0", and "i32 2" in this instruction.
>
> I know I can get the indices of getelementptr instructions through "getOperand()", but now in the previous example,
> I want to get the indices from a getlementptr value. How should I do? Thank you in advance.
>
> Best Regards!
>
> --------------------------------------------
> Qiuping Yi
> Institute Of Software
> Chinese Academy of Sciences
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141122/35e89a31/attachment.html>
More information about the llvm-dev
mailing list