public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* PR c++/5504: Optimization breaks wei-ku-1 from blitz
@ 2002-03-25 21:41 Diego Novillo
  2002-04-03 18:04 ` Jason Merrill
  2002-04-05 15:08 ` Jason Merrill
  0 siblings, 2 replies; 8+ messages in thread
From: Diego Novillo @ 2002-03-25 21:41 UTC (permalink / raw)
  To: Jason Merrill; +Cc: gcc, gcc-prs

Jason,

Although the PR indicates that g++ ICEs, the program actually
compiles.  However, it takes about 7 hours and cc1plus grows to
~650 Mb.

The problem seems to be in the expansion of EH cleanups.  I've
been comparing gcc 3.0.4 with the 3.1 branch.  This is what I
found so far:

- Both compilers seem to generate roughly the same number of
  trees.  They both grow to about 47 Mb right before the call to
  expand_stmt() in semantics.c:expand_body().

- However, when expand_stmt() is called to expand the body of
  main(), the 3.1 compiler grows to 415Mb, while the 3.0.4.
  compiler grows to about 53 Mb.

- The difference is in the calls to expand_eh_region_end_cleanup()
  The 3.0.4 compiler calls it 76 times.  The 3.1 compiler calls
  it 59,212 times.
  
  Not surprisingly, we spend no more than a couple of minutes
  generating the initial RTL, and 7 hours trying to optimize it.
  We seem to be generating mostly fluff because the final .s file
  doesn't look overly large (a couple of Mb, IIRC).

- The program seems to compile fine with -fno-exceptions.

Jakub tracked the problem to your destructor cleanup patch from
Dec01:

http://gcc.gnu.org/ml/gcc-patches/2001-12/msg01532.html

I don't know enough C++ to determine whether this is to be
expected or not.  The test case is rather large, so it may well
be that 3.0.4 was not doing the right thing.

Any ideas on what to try next?


Thanks.  Diego.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-04-09  7:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-25 21:41 PR c++/5504: Optimization breaks wei-ku-1 from blitz Diego Novillo
2002-04-03 18:04 ` Jason Merrill
2002-04-03 19:23   ` Diego Novillo
2002-04-05 15:08 ` Jason Merrill
2002-04-05 16:14   ` Jason Merrill
2002-04-06 15:36   ` PR " Mark Mitchell
2002-04-06 23:38     ` Richard Henderson
2002-04-09  0:20   ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).