IRA copy heuristics

Vladimir Makarov vmakarov@redhat.com
Thu Sep 4 23:40: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 mailing list