On Fri, Jul 25, 2008 at 1:47 PM, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > 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 ...).
I actually never understood why we need type escape analysis here. Can't we just see if the actual objects do escape? Richard.