aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2011-05-02 13:16:55 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2011-05-02 13:16:55 +0000
commit2dfdcb4bebb6ce3a5ee2da2b8aa7166df860d4d2 (patch)
tree15503b148d274a34e946320aa114bc65268b54e0 /gcc
parent90bc462321f77fb63a04bb3d73bfa54267087b26 (diff)
downloadgcc-2dfdcb4bebb6ce3a5ee2da2b8aa7166df860d4d2.zip
gcc-2dfdcb4bebb6ce3a5ee2da2b8aa7166df860d4d2.tar.gz
gcc-2dfdcb4bebb6ce3a5ee2da2b8aa7166df860d4d2.tar.bz2
haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.
* 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. From-SVN: r173251
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/haifa-sched.c11
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8d20385..f910409 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * 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.
+
2011-05-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48822
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 15d8f65..f5580b8 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;
}