aboutsummaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
diff options
context:
space:
mode:
authorMichael Meissner <meissner@cygnus.com>1998-06-26 13:09:01 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1998-06-26 13:09:01 +0000
commite4da5f6da4fe345f57e510c3bc27450c667cf6cf (patch)
tree1b84b8ef7b7ac4d7a97eacaeef2694bb53e71b5a /gcc/haifa-sched.c
parentdb3d4438e6f87dcc70900327f8db2af291633575 (diff)
downloadgcc-e4da5f6da4fe345f57e510c3bc27450c667cf6cf.zip
gcc-e4da5f6da4fe345f57e510c3bc27450c667cf6cf.tar.gz
gcc-e4da5f6da4fe345f57e510c3bc27450c667cf6cf.tar.bz2
Add hooks for the machine to override the sorting of the ready list and variable issue rates
From-SVN: r20740
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r--gcc/haifa-sched.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 14eda50..fff73ca 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -6725,11 +6725,18 @@ schedule_block (bb, rgn_n_insns)
}
}
+#ifdef MD_SCHED_INIT
+ MD_SCHED_INIT (dump, sched_verbose);
+#endif
+
/* no insns scheduled in this block yet */
last_scheduled_insn = 0;
/* Sort the ready list */
SCHED_SORT (ready, n_ready);
+#ifdef MD_SCHED_REORDER
+ MD_SCHED_REORDER (dump, sched_verbose, ready, n_ready);
+#endif
if (sched_verbose >= 2)
{
@@ -6776,6 +6783,9 @@ schedule_block (bb, rgn_n_insns)
/* Sort the ready list. */
SCHED_SORT (ready, n_ready);
+#ifdef MD_SCHED_REORDER
+ MD_SCHED_REORDER (dump, sched_verbose, ready, n_ready);
+#endif
if (sched_verbose)
{
@@ -6865,7 +6875,11 @@ schedule_block (bb, rgn_n_insns)
last = move_insn (insn, last);
sched_n_insns++;
+#ifdef MD_SCHED_VARIABLE_ISSUE
+ MD_SCHED_VARIABLE_ISSUE (dump, sched_verbose, insn, can_issue_more);
+#else
can_issue_more--;
+#endif
n_ready = schedule_insn (insn, ready, n_ready, clock_var);