[Bug optimization/13931] [3.4/3.5 Regression] combiner much slower on big basic blocks
bonzini at gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Jan 30 19:26:00 GMT 2004
------- Additional Comments From bonzini at gnu dot org 2004-01-30 19:24 -------
It is probably because on powerpc the combination attempts fail, while on i686
they succeed (there is an increment-a-memory-location instruction). Gee, the
timings for PPC are even worse. :-(
As far as the combiner is concerned, it seems to be worst case quadratic in the
number of succeeded combinations in a basic block. Maybe it is possible to
just propagate notes just 50 or 100 instruction behind in the basic block after
a succeeded combination? Or maybe it screws up the liveness information?
It may also be ok to simply rerun data-flow analysis after combine (instead of
doing distribute_notes) after 50 or 100 succeeded combinations.
(I don't have a tree here, otherwise I'd try out these two possibilities).
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|[3.4/3.5 Regression] |[3.4/3.5 Regression]
|combiner much slower on big |combiner much slower on big
|functions |basic blocks
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13931
More information about the Gcc-bugs
mailing list