[LLVMdev] Stale type system documentation?

Sean Silva chisophugis at gmail.com
Sat Feb 15 16:41:11 PST 2014


I can confirm that this seems to be out of date. In particular the sentence:

"Structures can either be "literal" or "identified". A literal structure is
defined inline with other types (e.g. {i32, i32}*) whereas identified types
are always defined at the top level with a name. Literal types are uniqued
by their contents and can never be recursive or opaque since there is no
way to write one. Identified types can be recursive, can be opaqued,
****and are never uniqued****."


If you send a patch to llvm-commits removing that, we can get the ball
rolling on bringing this up to date.

-- Sean Silva


On Tue, Jan 7, 2014 at 1:04 PM, Philip Reames <listmail at philipreames.com>wrote:

>  Looking at the LangRef, I see some wording relating to the type system
> which appears to have not been updated.  The section that concerns me is:
> " Note that type names are aliases for the structural type that they
> indicate, and that you can therefore specify multiple names for the same
> type. This often leads to confusing behavior when dumping out a .ll file.
> Since LLVM IR uses structural typing, the name is not part of the type.
> When printing out LLVM IR, the printer will pick *one name* to render all
> types of a particular shape. This means that if you have code where two
> different source types end up having the same LLVM type, that the dumper
> will sometimes print the "wrong" or unexpected type. This is an important
> design point and isn't going to change." from
> http://llvm.org/docs/LangRef.html#named-types
>
> In particular, this appears to be in direct contradiction with:
> http://llvm.org/docs/LangRef.html#structure-type
>
> Can anyone else confirm my interpretation?  I want to be sure there's not
> something subtle here I'm missing.
>
> Philip
>
> _______________________________________________
> 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/20140215/d6f639ac/attachment.html>


More information about the llvm-dev mailing list