On 12-09-10 6:05 AM, Bin.Cheng wrote:
Hi,
I digged into gcc mail archive and found there are several threads
discussing about live range shrink, like:
As I know Ghassan preferred to work on Open64 that time in AMD and never
touched GCC.
and
http://gcc.gnu.org/ml/gcc-patches/2009-01/msg00188.html
In these messages many people showed interests in LRS, in or out of
sched1 pass. I am curious about the status now and have following
questions:
1. Does sched-pressure patch Vlad worked is the LRS we mentioned in the message?
No, the pressure-sensitive insn scheduler is not LRS. It mostly does
not increase the register pressure when it is already high. There is
other more comprehensive pressure-sensitive heuristic implemented by
Richard Sandiford. I think it is better to ask Rcihard the same
question about his heuristic.
2. If the answer is no, are there still someone want to do this in
sched1? Or as Vlad once mentioned that we should implement LRS in
another pass along with register re-materialization?
It is still on my list of possible projects although I am busy with LRA
project now and don't know when I can start it. I know how to decrease
register pressure through rematerialization but I did not figured out
yet how to do LRS and how to combine them.
3. What's the status/expectation of LRS now?
I don't think there is any status of LRS. I only can say that
introduction of IRA made this project more doable for implementation.
Before its implementation accurate register pressure estimation just was
not possible.
I didn't follow the message on this topic before, so please forgive if
I have missed some important updates about this.