[Bug rtl-optimization/37296] [4.4 Regression] Bootstrap failure compiling libgcc
vmakarov at redhat dot com
gcc-bugzilla@gcc.gnu.org
Wed Sep 3 15:38:00 GMT 2008
------- Comment #25 from vmakarov at redhat dot com 2008-09-03 15:36 -------
The problem is in sorting insn chains according to their
frequencies to get a better reloads for most frequently executed
insns. This very simple optimization was introduced on IRA branch.
Correct updating elimination offsets in reload needs original insn
chain order. I see two solutions of the problem:
o Restore evaluation of elimination offsets by using original order of
insn chains. It means move of sorting insn chains to function
calculate_needs_all_insns and process offsets there before sorting.
It also needs to save elimination offsets not only at code labels
(as it now) but at any BB end start. So it complicates
significantly this very simple optimization and makes it even slower
because we need sort insn chain on each reload iteration (not once
as it now).
o Just remove sorting of insn chain. I've checked the optimization
impact on SPEC2000 for x86 and found it is not significant (about
0.1% improvement on SPECINT2000 which is in measurement error range
and 0.02% codes size decrease on SPECFP2000). It should speed up
the compiler although in reality I did not find a visible speedup.
After some thinking, I've decided to stic to the 2nd solution.
The patch solving the problem will follow soon.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37296
More information about the Gcc-bugs
mailing list