regrename speedup

Eric Botcazou ebotcazou@adacore.com
Thu Nov 19 19:28:00 GMT 2009


> The following patch cures the problem entirely.  The initial scanning
> phase of the renamer is rewritten to keep track of conflicts between
> chains, as well as recording lifetimes of hard registers.  This removes
> the need for merge_overlapping_regs to rescan the basic block every time.

What's the effect on the memory consumption, e.g. for the testcase of PR38582?

> I've bootstrapped and regression tested this patch on i686-linux with
> another small patch to force flag_rename_registers to 1.
>
> Ok (and for which stage)?

I think we should consider installing it now, given that the option is only 
activated on demand or through -funroll-loops and -fpeel-loops.

I have a request though: can you split the patch into 2 parts, the first one 
containing only the cleaning and refactoring work?  That is to say, primarily 
the hide_operands/restore_operands thing.  But could you also add the removal 
of the unused earlyclobber machinery?  Your patch won't use it either and the 
combined result is a little confusing.  Thanks in advance.

-- 
Eric Botcazou



More information about the Gcc-patches mailing list