aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/loop.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 45cc71d..8322877 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
Thu Aug 27 20:10:46 1998 Jeffrey A Law (law@cygnus.com)
+ * loop.c (scan_loop): Count down from max_reg_num - 1 to
+ FIRST_PSEUDO_REGISTER to avoid calilng max_reg_num each iteration
+ of the loop.
+
* i386.c (print_operand): Remove obsolete 'c' docs.
Wed Aug 26 17:13:37 1998 Tom Tromey <tromey@cygnus.com>
diff --git a/gcc/loop.c b/gcc/loop.c
index f11caeb..b462322 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -788,7 +788,7 @@ scan_loop (loop_start, end, unroll_p)
#ifdef AVOID_CCMODE_COPIES
/* Don't try to move insns which set CC registers if we should not
create CCmode register copies. */
- for (i = FIRST_PSEUDO_REGISTER; i < max_reg_num (); i++)
+ for (i = max_reg_num () - 1; i >= FIRST_PSEUDO_REGISTER; i--)
if (GET_MODE_CLASS (GET_MODE (regno_reg_rtx[i])) == MODE_CC)
VARRAY_CHAR (may_not_optimize, i) = 1;
#endif