This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Code Bloat g++
- To: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Subject: Re: Code Bloat g++
- From: Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>
- Date: Sat, 19 Feb 2000 03:11:04 +0100 (CET)
- cc: jbuck at possibly dot synopsys dot com, gcc at gcc dot gnu dot org
On Fri, 18 Feb 2000, Martin v. Loewis wrote:
> I've considered it. However, from my (probably shallow) analysis, it
> seems that every line below is necessary.
Hmm, I feel there must be some extraneous stuff here, unless I
misunderstood:
deneb[112]: wc -l generate.ii
29131
deneb[114]: grep LLBB generate.s | wc -l
86672
That is, we have three times as many lexical blocks as lines of
preprocessed code.
Actually four times as many lexical blocks as lines of preprocessed code,
if we remove empty lines, #-lines and typedefs:
deneb[122]: egrep '^($|#|typedef)' generate.ii | wc -l
8163
> Now, of course, I'm somewhat confused that this bracketing is included
> in the debug information. I'd guess that the original function
> (i.e. HeuristicPT::CreatePTs(void)) indeed contains as many left and
> right brackets, as indicated above.
If you, or anyone else, is interested in preprocessed source, I'll be
happy to provide that (< 100kB as .ii.gz).
> Perhaps the LBRAC and RBRAC records serve an additional purpose even
> in absence of any local variables? Or, would it be possible to
> eliminate these records of there are no automatic variables in a
> block? Any comments appreciated.
Ah, now that sounds interesting! How many beers do we have to offer
you, Mike, to see a patch? :-)
Gerald
--
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/