>>>>> Diego Novillo writes: Diego> Agreed. This is a good opportunity for us to design a GIMPLE type Diego> system. Besides the obvious space savings and cleanliness, it is also Diego> needed to remove lang_hooks.types_compatible_p.
And this last statement is the key point. We can and probably should implement a prototype LTO without cleaning up the type system, but for LTO to be usable in a production compiler, the GIMPLE type system will need to be fixed. Cleaning the type system is not an immediate requirement -- not a dependency for the initial implementation of LTO -- but LTO cannot be generally usable without this problem being addressed. A more compact representation is a byproduct, but multi-language correctness is necessary for full, production functionality. David