]> gcc.gnu.org Git - gcc.git/commitdiff
jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING...
authorDavid S. Miller <davem@pierdol.cobaltmicro.com>
Mon, 20 Jul 1998 02:20:07 +0000 (02:20 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Mon, 20 Jul 1998 02:20:07 +0000 (19:20 -0700)
* 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

gcc/ChangeLog
gcc/jump.c

index 09417a6e8fa0c9ee35c59bcefc8803e5d2643c08..b2867b12c6dab324af4d84786ca1ca0607ea6f8f 100644 (file)
@@ -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
index fce3dc027718743597a6c44aa9edcb73c9453b17..dfc4ae64c3e16b5fb096a18bc1f9d83e7ff5f726 100644 (file)
@@ -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))
This page took 0.078274 seconds and 5 git commands to generate.