diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-05-02 13:16:55 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-05-02 13:16:55 +0000 |
commit | c03ae898392b30495c429b67d3082c9fa128c2c4 (patch) | |
tree | 15503b148d274a34e946320aa114bc65268b54e0 /gcc/haifa-sched.c | |
parent | b81ffaee0b20899eed61b6ccd661c3fbe37eb5ab (diff) | |
download | gcc-c03ae898392b30495c429b67d3082c9fa128c2c4.tar.gz |
* haifa-sched.c (sched_emit_insn): Emit insn before first
non-scheduled insn. Inform back-end about new insn. Add
new insn to scheduled_insns list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173251 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r-- | gcc/haifa-sched.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 15d8f65375f..f5580b867ab 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -5650,9 +5650,16 @@ sched_create_empty_bb_1 (basic_block after) rtx sched_emit_insn (rtx pat) { - rtx insn = emit_insn_after (pat, last_scheduled_insn); - last_scheduled_insn = insn; + rtx insn = emit_insn_before (pat, nonscheduled_insns_begin); haifa_init_insn (insn); + + if (current_sched_info->add_remove_insn) + current_sched_info->add_remove_insn (insn, 0); + + (*current_sched_info->begin_schedule_ready) (insn); + VEC_safe_push (rtx, heap, scheduled_insns, insn); + + last_scheduled_insn = insn; return insn; } |