This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/5504: Optimization breaks wei-ku-1 from blitz
- From: rth at gcc dot gnu dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, jason at gcc dot gnu dot org, rth at gcc dot gnu dot org, schmid at snake dot iap dot physik dot tu-darmstadt dot de
- Date: 10 Apr 2002 17:42:23 -0000
- Subject: Re: c++/5504: Optimization breaks wei-ku-1 from blitz
- Reply-to: rth at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, jason at gcc dot gnu dot org, rth at gcc dot gnu dot org, schmid at snake dot iap dot physik dot tu-darmstadt dot de, gcc-gnats at gcc dot gnu dot org
Synopsis: Optimization breaks wei-ku-1 from blitz
Responsible-Changed-From-To: jason->rth
Responsible-Changed-By: rth
Responsible-Changed-When: Wed Apr 10 10:42:22 2002
Responsible-Changed-Why:
My patch.
State-Changed-From-To: analyzed->suspended
State-Changed-By: rth
State-Changed-When: Wed Apr 10 10:42:22 2002
State-Changed-Why:
http://gcc.gnu.org/ml/gcc-patches/2002-04/msg00474.html
Given enough memory, this solves the compile-time problem.
It now takes about 6 minutes to compile instead of 7 hours.
Peak memory usage is still atrocious though -- abour 1.2GB;
I'm not sure how to solve that, or indeed if it can be solved.
EH semantics of goto requires that all of the EH regions be
created so that we can bind vs other EH regions at the end.
Even if we discover in the middle that there will be no such
goto requiring such processing, we'll have already created
the rtl, which means that the memory is already in use.
Since we can't garbage collect in the middle of rtl generation,
peak memory usage will not be impacted by any complex schemes
in the middle of code generation.
It may be possible to perform an optimization pass in which
EH cleanups are removed from the AST before instantiation
in rtl. That would indeed positively impact peak memory use.
Put that in the indefinite future though...
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5504