diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2011-04-01 17:46:17 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2011-04-01 17:46:17 +0000 |
commit | 86014d074872876f5340bfe9107eb577fd06b203 (patch) | |
tree | 3cfbbe26eff243d60d0a43f726d613c2f146bae0 /gcc/sched-ebb.c | |
parent | 2a6a0d809f0fe62306e21aaad89227205181e0e4 (diff) | |
download | gcc-86014d074872876f5340bfe9107eb577fd06b203.zip gcc-86014d074872876f5340bfe9107eb577fd06b203.tar.gz gcc-86014d074872876f5340bfe9107eb577fd06b203.tar.bz2 |
sched-ebb.c (begin_schedule_ready): Remove second argument.
* sched-ebb.c (begin_schedule_ready): Remove second argument.
Split most of the code into...
(begin_move_insn): ... here. New function.
(ebb_sched_info): Add a pointer to it.
* haifa-sched.c (scheduled_insns): New static variable.
(sched_extend_ready_list): Allocate it.
(schedule_block): Use it to record the order of scheduled insns.
Perform RTL changes to move insns only after all scheduling
decisions have been made.
* modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
begin_move_insn field.
* sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
* sched-int.h (struct haifa_sched_info): Remove second argument
from begin_schedule_ready hook. Add new member begin_move_insn.
* sched-rgn.c (begin_schedule_ready): Remove second argument.
(rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
From-SVN: r171843
Diffstat (limited to 'gcc/sched-ebb.c')
-rw-r--r-- | gcc/sched-ebb.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c index 25a2aac..6bb223b 100644 --- a/gcc/sched-ebb.c +++ b/gcc/sched-ebb.c @@ -59,7 +59,7 @@ static basic_block last_bb; /* Implementations of the sched_info functions for region scheduling. */ static void init_ready_list (void); -static void begin_schedule_ready (rtx, rtx); +static void begin_schedule_ready (rtx); static int schedule_more_p (void); static const char *ebb_print_insn (const_rtx, int); static int rank (rtx, rtx); @@ -125,10 +125,15 @@ init_ready_list (void) /* INSN is being scheduled after LAST. Update counters. */ static void -begin_schedule_ready (rtx insn, rtx last) +begin_schedule_ready (rtx insn ATTRIBUTE_UNUSED) { sched_rgn_n_insns++; +} +/* INSN is being moved to its place in the schedule, after LAST. */ +static void +begin_move_insn (rtx insn, rtx last) +{ if (BLOCK_FOR_INSN (insn) == last_bb /* INSN is a jump in the last block, ... */ && control_flow_insn_p (insn) @@ -288,6 +293,7 @@ static struct haifa_sched_info ebb_sched_info = ebb_add_remove_insn, begin_schedule_ready, + begin_move_insn, advance_target_bb, SCHED_EBB /* We can create new blocks in begin_schedule_ready (). */ |