diff options
author | David S. Miller <davem@pierdol.cobaltmicro.com> | 1998-07-20 02:20:07 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 1998-07-19 19:20:07 -0700 |
commit | 689fcba8611f93ce241fa090a0423e8d35324027 (patch) | |
tree | 44a2a3fbd45a6df0125b101c2070e85adb7f30ed /gcc | |
parent | b7863d43dc50484ee12b2d02c627e4e70c3ce966 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/jump.c | 7 |
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 @@ -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)) |