[llvm-dev] Wrong description about getelementptr arguments?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Sat Jun 17 07:09:12 PDT 2017


Documentation's a bit stale - it'd probably be enlightening/helpful to look
at some real world examples, such as:

%arrayidx = getelementptr inbounds i32*, i32** %0, i64 3

So the first argument (i32*) is a type, currently it's the same type as the
type that the second argument points to (or, in the case of a vector gep,
it's the type of the pointee of the elements of the vector argument).

The GEP FAQ docs are a bit out of date, if you'd like to send a patch for
them, that'd be great! :) Otherwise I should probably get to them myself...

On Sat, Jun 17, 2017 at 6:09 AM 陳韋任 via llvm-dev <llvm-dev at lists.llvm.org>
wrote:

> Hi All,
>
>   While reading "Arguments" section of getelementptr [1], the description
> is a little wired to me.
>
>     The first argument is always a type used as the basis for the
> calculations. The second argument
>     is always a pointer or a vector of pointers, and is the base address
> to start from.
>
>     ...
>
>     The first index always indexes the pointer value given as the first
> argument, ...
>
> Here I see the paragraph says the first argument is a *type*, then says
> the first index always indexes
> *the pointer value* given as the first argument. From getelementptr FAQ
> [2], I feel the first arguement
> (first operand in FAQ) should be *the pointer value*, and the following
> sentence seems not so right to
> me.
>
>     The first argument is always a type used as the basis for the
> calculations.
>
> Am I reading it wrong, or it is wrong. Thanks.
>
> [1] http://llvm.org/docs/LangRef.html#getelementptr-instruction
> [2] http://llvm.org/docs/GetElementPtr.html
>
> Regards,
> chenwj
>
> --
> Wei-Ren Chen (陳韋任)
> Homepage: https://people.cs.nctu.edu.tw/~chenwj
> _______________________________________________
> 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/20170617/71765989/attachment.html>


More information about the llvm-dev mailing list