A new gimple pass (LRS: live range shrinking) to reduce register pressure

Xinliang David Li davidxl@google.com
Mon Jan 5 18:04:00 GMT 2009


On Mon, Jan 5, 2009 at 8:35 AM, Vladimir Makarov <vmakarov@redhat.com> wrote:
> Steven Bosscher wrote:
>>
>> In my perfect GCC, we'd have a register pressure control mechanism on
>> GIMPLE (not too smart, but just enough to avoid really stupid things)
>> and live range shrinking on RTL, preferably as part of sched1.
>>
>>
>>
>
> I am agree with Steven.  Although the LRS pass gives a nice improvement
> (about 0.3%-0.5% for SPEC2006 on i686 according to my calculations from the
> posted numbers.  I think the result would be less for targets with sched1
> switched on or targets for bigger register file), the LRS pass as a single
> solution probably is not fully adequate because it is too early.
>
> I tried analogous thing (Simpson's approach of register pressure relief
> through remateriliazation) five years ago (it was reported on 2004 GCC
> summit).  It was implemented on RTL and even on this stage it can not help
> much because register pressure calculation was inaccurate mainly because
> pseudos could have intersected register classes in the old RA.  IRA uses
> non-intersected register classes for most targets and it opens possibilities
> for more accurate register pressure relief passes (through rematerilization
> or LRS).  I hope it is already helped this pass.
>
> By the way I am going to work on LRS in sched1 when I am less busy with IRA.
>  I planned that long time ago.

Good to know that.

David


>
>



More information about the Gcc-patches mailing list