IRA for GCC 4.4

Vladimir Makarov vmakarov@redhat.com
Thu Apr 24 21:07:00 GMT 2008


Joe Buck wrote:
> On Thu, Apr 24, 2008 at 10:42:49AM -0400, Vladimir Makarov wrote:
>   
>> FX wrote:
>>     
>>>> The best way to test IRA is to build and use the branch.  It is easy to
>>>> compare the old RA (which is the default on the branch) and IRA (-fira
>>>> option switches IRA on).  I'd recommend to try the following option sets:
>>>>  -fira
>>>>  -fira -fira-algorithm=CB
>>>>    
>>>>         
>>> OK, I've done that and I see a 40% to 60% increase in compilation time
>>> for the first (Fortran) testcase I tried, is that expected?
>>>
>>>  
>>>       
>> Yes, that is known problem for -O0.  The old allocator does not use 
>> global allocator at -O0, IRA is used always even for -O0.  The correct 
>> comparison would be at -O2.  There are several solution of the problem:
>>  o We could make only the reload working for -O0.  In this case, the 
>> time will be the same.
>>  o We could prevent regional allocation at -O0.  In this case,  the 
>> slow down would be  20% (I guess).
>>  o  Use a very fast and simple local allocation.
>>  o Or just ignore this.
>>
>> I'd prefer the second  solution.
>>     
>
> Ignoring it isn't an option; developers who spend most of their
> time in the compile/debug/test/fix loop would see a 40-60% decrease at -O0
> as a very severe regression.  Even 20% would get a lot of complaints.
>
>   
Yes, that was probably a stupid remark from me.  Sorry.

I already made a temporary solution bringing it to 15% for this extreme 
test which requires more 1GB for -O0 and more 2Gb for -O2 (all with the 
old register allocator).  As I wrote I'll have a better solution in 3 weeks.



More information about the Gcc mailing list