This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Lazy allocation of DECL_ASSEMBLER_NAME
- From: Mark Mitchell <mark at codesourcery dot com>
- To: Chris Lattner <sabre at nondot dot org>
- Cc: Geoff Keating <geoffk at desire dot geoffk dot org>, zack at codesourcery dot com, dalej at apple dot com, gcc at gcc dot gnu dot org
- Date: Mon, 01 Mar 2004 15:26:50 -0800
- Subject: Re: Lazy allocation of DECL_ASSEMBLER_NAME
- Organization: CodeSourcery, LLC
- References: <Pine.LNX.4.44.0403011614110.13329-100000@nondot.org>
Chris Lattner wrote:
Mark Mitchell wrote:
There are lots of things that are hard about inter-module analysis, as
you of course know. :-) It's an inherent design problem: we're
essentially trying to combine multiple C translation units into a single
C translation unit, and C is not a language that permits that. Most
object file formats are designed to support C, so we see these problems
at that level too.
Just to be clear, this is not a problem with IMA, this is a problem with
doing it at the source level.
I completely agree. In GCC, the current IMA stuff is sort-of halfway
in-between. The representation we use is basically at the source level,
but, as Geoff mentions, we don't quite fully squish everything together
into one translation unit. So, it's pretty similar to C, but if there
were a source language for this representation, it would also have some
kind of "module" construct.
> This comes up all of the time in real-world programs. zlib and 300.twolf
I know! :-) I used to write tools that found the mismatches, and they
are pretty common.
--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com