--
steven at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |steven at gcc dot gnu dot
|dot org
--- Comment #11 from bonzini at gnu dot org 2009-02-26 09:12 ---
I remember seeing this kind of insertion in very old GCCs too (inserting all
sort of loads at the end of every branch of a switch statement). I like
Steven's patch, even though it's a bit brute force.
--
--- Comment #12 from law at redhat dot com 2009-02-26 16:53 ---
Subject: Re: [4.3/4.4 Regression] GCSE-optimization
causes enormous binary size increase (~20 times !)
steven at gcc dot gnu dot org wrote:
--- Comment #10 from steven at gcc dot gnu dot org 2009-02-21 16:09
--- Comment #9 from steven at gcc dot gnu dot org 2009-02-21 15:25 ---
It looks like this is some kind of quadratic insertion problem, maybe PPRE
after all. I hacked GCSE a bit to see what is going on.
I fist counted the number basic blocks and edges per function, the number of
--- Comment #10 from steven at gcc dot gnu dot org 2009-02-21 16:09 ---
OK, I checked what we're PREing here. This is indeed partial-partial PRE.
I suppose something like the following is a good idea. I'll admit it's
brute-force, but I'm not sure how else to stop GCSE-PRE from doing
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-02-06 13:07 ---
It's at 280MB and still growing. Let's hope it compresses well ;)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
--- Comment #7 from rguenth at gcc dot gnu dot org 2009-02-06 14:35 ---
Ok, still too large to attach. It should appear at
http://gcc.opensuse.org/SSMprotocol_def_en.cpp.140r.gcse1.lzma
after some time.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
--- Comment #5 from steven at gcc dot gnu dot org 2009-02-06 11:59 ---
I am unable to reproduce this on Cygwin. Anyone got a .gcse dump for me?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
--- Comment #8 from steven at gcc dot gnu dot org 2009-02-06 17:50 ---
Re. comment #2:
This looks more like normal PRE over exception edges, which AFAIK tree-ssa-pre
does not do (it keeps ANTIC_IN empty for any block that has abnormal
predecessors).
--
steven at gcc dot gnu dot org
--- Comment #4 from steven at gcc dot gnu dot org 2009-02-05 14:23 ---
Investigating...
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-02-03 09:55 ---
Created an attachment (id=17230)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17230action=view)
unincluded testcase
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-02-03 09:54 ---
Confirmed. Likely triggered by inliner decision changes. -Os is fine.
Steven,
do we need to constrain GCSE similar to your PRE patches? Is this PPRE in GCSE
at work?
Object size with G++ 4.4 is 7MB.
--
13 matches
Mail list logo