aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2012-04-11 16:26:41 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2012-04-11 16:26:41 +0000
commite6b8b8c7e86cfb74ca4991bb913b76ccdf04cf99 (patch)
tree01d5ddeed20e80ac462892aaf8c8640f31ae94cc /gcc
parent0c51653d139295afd76291e1981cbe3383f5c858 (diff)
downloadgcc-e6b8b8c7e86cfb74ca4991bb913b76ccdf04cf99.zip
gcc-e6b8b8c7e86cfb74ca4991bb913b76ccdf04cf99.tar.gz
gcc-e6b8b8c7e86cfb74ca4991bb913b76ccdf04cf99.tar.bz2
sh.c (SCHED_REORDER): Merge macro into ...
* config/sh/sh.c (SCHED_REORDER): Merge macro into ... (ready_reorder): ... this function. From-SVN: r186327
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c18
2 files changed, 10 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 682a967..c1eab6e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (SCHED_REORDER): Merge macro into ...
+ (ready_reorder): ... this function.
+
2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
* sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index e7e1945..86f79a1 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -10559,22 +10559,14 @@ swap_reorder (rtx *a, int n)
a[i + 1] = insn;
}
-#define SCHED_REORDER(READY, N_READY) \
- do \
- { \
- if ((N_READY) == 2) \
- swap_reorder (READY, N_READY); \
- else if ((N_READY) > 2) \
- qsort (READY, N_READY, sizeof (rtx), rank_for_reorder); \
- } \
- while (0)
-
-/* Sort the ready list READY by ascending priority, using the SCHED_REORDER
- macro. */
+/* Sort the ready list by ascending priority. */
static void
ready_reorder (rtx *ready, int nready)
{
- SCHED_REORDER (ready, nready);
+ if (nready == 2)
+ swap_reorder (ready, nready);
+ else if (nready > 2)
+ qsort (ready, nready, sizeof (rtx), rank_for_reorder);
}
/* Count life regions of r0 for a block. */