[llvm] r223278 - Split the set of identified struct types into opaque and non-opaque ones.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Dec 8 20:19:10 PST 2014


On 8 December 2014 at 23:08, Sanjoy Das <sanjoy at playingwithpointers.com> wrote:
> Does this change mean LLVM will now structurally unique named struct types?
>
> Asking because the LangRef says: "Literal types are uniqued
> structurally, but identified types are never uniqued."

Depends on what "LLVM" means :-)

It is not the case that LLVM uniques identified structs as it goes.
That was the case in 2.9, but it was changed in 3.0.

It is the case since 3.0 that the linker (lib/Linker) took over the
responsibility and now merges some types in an heuristic way. This
patch made it a bit more aggressive.

For a much longer discussion on it, se the thread "Brain dump on type merging".

Cheers,
Rafael



More information about the llvm-commits mailing list