IRA for GCC 4.4

Vladimir Makarov vmakarov@redhat.com
Thu Apr 24 15:09:00 GMT 2008


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.
> With the compiler from the ira branch on x86_64-linux, here are the
> timings reported by "gfortran -c -time -save-temps" with and without
> IRA (two timings provided for each set of option, to check
> reproducability):
>
> With -O0
> # f951 148.97 9.92
> # as 3.95 0.18
>
> # f951 137.51 7.05
> # as 3.98 0.17
>
> With -O0 -fira
> # f951 223.89 10.91
> # as 3.67 0.18
>
> # f951 218.98 8.43
> # as 3.61 0.19
>
> -O0 -fira -fira-algorithm=CB
> # f951 191.32 9.03
> # as 3.65 0.15
>
> # f951 190.92 8.96
> # as 3.63 0.18
>
>
> (The testcase is 400k lines of preprocessed Fortran code, 16M is size,
> available here:
> http://www.pci.unizh.ch/vandevondele/tmp/all_cp2k_gfortran.f90.gz)
>
>   
Thanks, I'll check it.



More information about the Gcc mailing list