On 07/13/2010 06:40 PM, Jeff Law wrote:
On 07/13/10 10:23, Bernd Schmidt wrote:
On 07/13/2010 06:19 PM, Jeff Law wrote:
Ideally, we'd just ignore the clobbers in the scheduler; however, that
might be a PITA to implement. But ISTM we ought to be able to shrink
the clobber's lifetime in a single pass over the insns after the
scheduler has run.
Well, that's exactly what my patch does.
Perhaps the thing to do is move it out of IRA and into sched-whatever.c :-)
I actually tried, and it's not that easy :-( To avoid duplicating it
between the various sched-xxx.c files you'd want to put it into
schedule_block in haifa-sched.c, but then you get aborts when freeing
the dependency structures because it doesn't like it when you move
clobbers past debug_insns...
Really, the IRA thing is the simplest way to fix it (short of making IRA
do a forward scan), and it _is_ a long-standing problem. Do we want to
fix it?