aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid S. Miller <davem@pierdol.cobaltmicro.com>1998-07-20 02:20:07 +0000
committerDavid S. Miller <davem@gcc.gnu.org>1998-07-19 19:20:07 -0700
commit689fcba8611f93ce241fa090a0423e8d35324027 (patch)
tree44a2a3fbd45a6df0125b101c2070e85adb7f30ed /gcc
parentb7863d43dc50484ee12b2d02c627e4e70c3ce966 (diff)
downloadgcc-689fcba8611f93ce241fa090a0423e8d35324027.zip
gcc-689fcba8611f93ce241fa090a0423e8d35324027.tar.gz
gcc-689fcba8611f93ce241fa090a0423e8d35324027.tar.bz2
jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING...
* jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING, fix thinko so we use same criterion for identifying the PUSHes to rewrite in second loop as we did in the first. From-SVN: r21302
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/jump.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 09417a6..b2867b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Mon Jul 20 01:11:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
+
+ * jump.c (jump_optimize): When simplifying noop moves and
+ PUSH_ROUNDING, fix thinko so we use same criterion for identifying
+ the PUSHes to rewrite in second loop as we did in the first.
+
Sun Jul 19 08:23:53 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* cplus-dem.c (demangle_nested_args): Make function definition
diff --git a/gcc/jump.c b/gcc/jump.c
index fce3dc0..dfc4ae6 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -402,9 +402,14 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
if (GET_CODE (p) != INSN)
break;
pbody = PATTERN (p);
- if (GET_CODE (pbody) == SET)
+ if (GET_CODE (pbody) != SET)
break;
dest = SET_DEST (pbody);
+ /* Allow a no-op move between the adjust and the push. */
+ if (GET_CODE (dest) == REG
+ && GET_CODE (SET_SRC (pbody)) == REG
+ && REGNO (dest) == REGNO (SET_SRC (pbody)))
+ continue;
if (! (GET_CODE (dest) == MEM
&& GET_CODE (XEXP (dest, 0)) == POST_INC
&& XEXP (XEXP (dest, 0), 0) == stack_pointer_rtx))