On 03/19/2010 12:47 PM, Ian Bolton wrote:
I mention all this because I was wondering which other architectures
have turned off sched1 for -Os?  More importantly, I was wondering
if anyone else had considered creating some kind of clever hybrid
that only uses sched1 when it will increase performance without
increasing register pressure?


http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00003.html

Another problem is that sched1 for architectures with few registers
can
result in reload failure.  I tried to fix this in the patch mentioned
above but I am not sure it is done for all targets and all possible
programs.  The right solution for this would be implementing hard
register spills in the reload.
I don't think we have so few registers that reload failure will occur,
so it might be worth me trying this.

The mentioned above code does not work for RA based on priority
coloring
because register pressure calculation for intersected or nested
classes
has a little sense.
Hmm.  Thanks for mentioning that.  As you might recall, we are using
priority coloring at the moment because it yielded better performance
than Chaitin-Briggs.  Well, the real reason CB was rejected was that
we were already using Priority and so moving to CB would cause
sufficient
disruption such that performance increases and decreases would be
inevitable.  I did get some gains, but I also got regressions that we
couldn't absorb at the time I did the work.

I might be revisiting CB soon though, as it did tend to yield smaller
code, which is becoming more important to us.

Actually, I'll be working on the problem. I am still working on I would like to change CB coloring to use any classes (not only cover classes). It creates the same problem for register-pressure sensitive insn scheduling as priority coloring. The solution will be most probably useful for priority coloring too. In any case, if I succeed, it is a win situation for your target because you could use register-pressure sensitive insn scheduling for priority coloring or CB coloring with any classes or both.


Reply via email to