This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: lto gimple types and debug info


Richard Guenther wrote:
On Fri, Jul 25, 2008 at 1:47 PM, Kenneth Zadeck
<zadeck@naturalbridge.com> 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.
If you do it on an object basis, you have to clone code, one version to handle the objects that were changed and one to handle the objects that did not change.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]