RFD, draft patch: IRA costs for reg_equiv_invariant regs

Jeff Law law@redhat.com
Wed Jun 2 20:28:00 GMT 2010


On 06/02/10 13:18, Vladimir Makarov wrote:
> Bernd Schmidt wrote:
>>   On a not-quite-unrelated note, in the 2004 GCC summit proceedings you
>> write that you had implemented rematerialization.  Do you still have the
>> patch?
>>
> Here is another approach based on Simpson's thesis.  Rematerialziation 
> is done before RA to relief register pressure but I still think that 
> the right place for rematerialization is after RA and before reload 
> because we have register allocation (which can be still reconsidered 
> by reload) and know what really should be rematerialized.
Parts of this look like the code I wrote to make hard registers 
available for allocation/spilling.  The major difference is I merely 
look for a register that is live in/out, but neither set nor used within 
the block (ie transparent), when found, I emit a store to memory at the 
start of the block and a load from memory at the exits  (and eventually 
the plan was to use PRE-like motions to move those loads/stores around 
the CFG).

Jeff



More information about the Gcc-patches mailing list