[LLVMdev] LLVM IR Type System Rewrite
Rafael Ávila de Espíndola
rafael.espindola at gmail.com
Sun Feb 27 12:50:16 PST 2011
> I don't see this as requiring a type merging pass. A better way to
> handle this (IMO) would be to generalize constant merging to handle
> bit identities, which would allow it to merge things like:
>
> @a = unnamed constant i32 0 @b = unnamed constant float 0.0
>
> This can be done today, and then the type system change won't affect
> constant merging.
It is true that it is better to have passes know that different types
can have the same bits, but a type merging pass would still be useful
for the passes that have not been updated or just for reducing the size
of a bitcode file.
The main question is if such a pass would be legal, or if we would
guarantee that Foo and Bar in the above examples would remain as two
different types.
>
> -Chris
Thanks,
Rafael
More information about the llvm-dev
mailing list