[llvm-dev] llvm-link unifies identified structs?
Robin Sommer via llvm-dev
llvm-dev at lists.llvm.org
Sat Jul 30 11:23:48 PDT 2016
Any suggestions? It's not a problem for me, I'm mostly curious as it
makes it harder to read the IR. Feel free to point me to other
documentation if I'm missing something. Thanks,
Robin
On Wed, Jul 27, 2016 at 08:10 -0700, I wrote:
> The language reference says: "identified [structure] types are never
> uniqued". But llvm-link seems to do just that at link-time:
>
> > cat x.ll
>
> %A = type {}
> %B = type {}
> %C = type { %A*, %B* }
>
> define void @foo(%C* %c) {
> ret void
> }
>
> > llvm-link x.ll | llvm-dis
> ; ModuleID = '<stdin>'
> source_filename = "llvm-link"
>
> %C = type { %A*, %A* }
> %A = type {}
>
> define void @foo(%C* %c) {
> ret void
> }
>
> Does the statement in the language reference not apply to linking?
>
> (This is with a recent 3.9).
>
> Robin
>
> --
> Robin Sommer * ICSI/LBNL * robin at icir.org * www.icir.org/robin
--
Robin Sommer * ICSI/LBNL * robin at icir.org * www.icir.org/robin
More information about the llvm-dev
mailing list