Commit Message

Hello,
With the recent add_insn_* cleanups, we can now simplify
reorg.c:emit_delay_sequence.
Without this patch, emit_delay_sequence hacks the insns chain
"manually", setting PREV_INSN and NEXT_INSN to chain everything
together properly. But emit-rtl provides an abstraction of sorts for
that, and emit_delay_sequence should use it. This wasn't possible
before, because inserting a SEQUENCE wasn't allowed. But with a 5-line
change in emit-rtl.c, inserting a SEQUENCE via add_insn,
add_insn_before, and add_insn_after now works just fine.:
This patch is also necessary for my new delay-slot scheduler to keep
basic block boundaries correctly up-to-date. The emit-rtl API does
that already.
Cross-tested powerpc64 x mips. Currently running bootstrap&test on
sparc64-unknown-linux-gnu. OK if it passes?
Ciao!
Steven
* emit-rtl.c (link_insn_into_chain): Handle chaining of SEQUENCEs.
* reorg.c (emit_delay_sequence): Simplify with emit-rtl API.