Richard Sandiford wrote:
Richard Sandiford <[EMAIL PROTECTED]> writes:
Vladimir Makarov <[EMAIL PROTECTED]> writes:
Richard Sandiford wrote:
But as I said to HJ, I'm happy to apply the DF patch in isolation,
as long as we accept that the benefit of fixing a correctness
regression outweighs the potential performance regression.
Sure, regression is more important. Therefore even if you submit only
one (reverse BB traverse) patch, it is ok for me.
As I wrote I am going to look at the second patch. I have feeling that
even without the second patch, there will be no performance regression.
I think that my latest patches (some of them are not in the mainline
yet) removed IRA instability toward allocno ordering. I just need time
to make sure about this.
Great! Thanks. I'll test overnight and submit tomorrow if everything
goes OK.
Bootstrapped & regression-tested on x86_64-linux-gnu, with the following
FAILs fixed:
WARNING: program timed out.
FAIL: g++.old-deja/g++.eh/ia64-1.C execution test
FAIL: 21_strings/basic_string/numeric_conversions/char/stoi.cc execution test
FAIL: 21_strings/basic_string/numeric_conversions/char/stol.cc execution test
FAIL: 21_strings/basic_string/numeric_conversions/char/stoul.cc execution test
Applied as 133993. Thanks Vlad for the review, and thanks HJ for
noticing that it fixed the above x86_64 regressions.
Thanks, Richard.
I was wrong the patch alone results in significant performance
degradation. The SPECInt2000 is worse by 0.8% and SPECFP2000 by 1%
(the worst degradation about %5 was found on mgrid) on x86 (Intel
Core2 in 32-bit mode). I think the reason for this not in copies but
in something else. I am going to investigate the problem when I have
time.
Meanwhile I am going to submit your second patch with an added
comment. The patch permits gcc to generate the same quality code as
before your first patch.