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 ...).

Kenny

Reply via email to