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.