A new gimple pass (LRS: live range shrinking) to reduce register pressure
Xinliang David Li
Mon Jan 5 18:04:00 GMT 2009
On Mon, Jan 5, 2009 at 8:35 AM, Vladimir Makarov <email@example.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.
More information about the Gcc-patches