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