Hi!
When schedule_insn decides it needs to drop a debug location of
a variable, it wasn't clearing its INSN_REG_USE_LIST, which means if
those links said a register is used after its last use (even when it is
not, because (clobber (const_int 0)) doesn't reference anything),
calling schedule_insn on a debug insn could lead into register pressure
differences.
Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux.
Ok for trunk?
2010-05-10 Jakub Jelinek<jakub@redhat.com>
PR debug/44028
* haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
clear also INSN_REG_USE_LIST.
* gcc.dg/pr44028.c: New test.