[llvm-dev] Help on finding Base GEP

Siddharth Bhat via llvm-dev llvm-dev at lists.llvm.org
Wed May 30 04:04:16 PDT 2018


You can run SCEV which will see through bitcasts and GEPs, so it should
give an expression of the form (base + offset) on the pointer of the load.

Cheers
siddharth

On Wed 30 May, 2018, 16:30 Venkataramanan Kumar via llvm-dev, <
llvm-dev at lists.llvm.org> wrote:

> Hi,
>
> Below is the snippet of  LLVM IR code generated by Flang
>
> ---snip--
>   %3 = getelementptr i64, i64* %"a$sd", i64 11, !dbg !16
>   %4 = bitcast i64* %3 to i32*, !dbg !16
>   %5 = load i32, i32* %4, align 4, !dbg !16, !tbaa !22
> ---snip--
>
> My requirement is for any such LoadInst (example: %5),  I want to check if
> its base GEP (i.e. %3) loads at particular offset (11) from its
> corresponding arrays descriptor structure (a$sd).
>
> is there any API in LLVM to check this? or I need to write my own?
>
> regards,
> Venkat.
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-- 
Sending this from my phone, please excuse any typos!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180530/c6066494/attachment.html>


More information about the llvm-dev mailing list