From: David S. Miller Date: Mon, 20 Jul 1998 02:20:07 +0000 (+0000) Subject: jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=689fcba8611f93ce241fa090a0423e8d35324027;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 09417a6e8fa..b2867b12c6d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Mon Jul 20 01:11:11 1998 David S. Miller + + * 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 * cplus-dem.c (demangle_nested_args): Make function definition diff --git a/gcc/jump.c b/gcc/jump.c index fce3dc02771..dfc4ae64c3e 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))