diff options
author | Michael Meissner <meissner@cygnus.com> | 1998-06-26 13:09:01 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1998-06-26 13:09:01 +0000 |
commit | e4da5f6da4fe345f57e510c3bc27450c667cf6cf (patch) | |
tree | 1b84b8ef7b7ac4d7a97eacaeef2694bb53e71b5a /gcc/haifa-sched.c | |
parent | db3d4438e6f87dcc70900327f8db2af291633575 (diff) | |
download | gcc-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.c | 14 |
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); |