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