Arnaud Charlet wrote:
When danny and it wrote the ipa-type-escape pass, mark mitchell was all
over us because we assumed that the type system had some semantic meaning.
We ended up with a pass that generally finds nothing useful. I would very
much like to redo that pass once we can mark a type as coming from a
language with a real type system.
Did you enable Ada at this time ?
What was this pass supposed to do ?
Arno
I do not remember. The problem is not dealing with Ada, it is dealing with
Ada as if it was C. What we do is correct for ada or java, it is just much
more conservative that anyone would ever be if one were writing a compiler
for those languages.
the pass determines if all uses of a type are completely encapsulated within
the compilation unit. Most types are generally not, but if you compile with
-combine (which only works for C), then in theory there would be more of
them.
The idea is that if you have a fully encapsulated type, then the compiler
would be free to implement any variables of this type as it saw fit
(changing the alignment, reordering the fields, peeling ...).