OSDN Git Service

(try_pre_increment_1): Don't try to create a pre-increment expression
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 16 May 1994 20:21:39 +0000 (20:21 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 16 May 1994 20:21:39 +0000 (20:21 +0000)
if the register dies in the succeeding insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7308 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/flow.c

index 71d15ad..448608c 100644 (file)
@@ -2516,6 +2516,9 @@ try_pre_increment_1 (insn)
   rtx y = reg_next_use[regno];
   if (y != 0
       && BLOCK_NUM (y) == BLOCK_NUM (insn)
+      /* Don't do this if the reg dies, or gets set in y; a standard addressing
+        mode would be better. */
+      && ! dead_or_set_p (y, SET_DEST (x))
       && try_pre_increment (y, SET_DEST (PATTERN (insn)),
                            amount))
     {