IRA copy heuristics
Vladimir Makarov
vmakarov@redhat.com
Thu Sep 4 23:41:00 GMT 2008
Richard Sandiford wrote:
> Richard Sandiford <rdsandiford@googlemail.com> writes:
>
>> Vladimir Makarov <vmakarov@redhat.com> 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.
More information about the Gcc-patches
mailing list