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
This commit is contained in:
Ulrich Weigand 2011-05-02 13:16:55 +00:00 committed by Ulrich Weigand
parent 90bc462321
commit 2dfdcb4beb
2 changed files with 15 additions and 2 deletions

View File

@ -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

View File

@ -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;
}