regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we climb up the chain...
authorBrendan Kehoe <brendan@cygnus.com>
Wed, 13 Oct 1999 17:28:29 +0000 (17:28 +0000)
committerBrendan Kehoe <brendan@gcc.gnu.org>
Wed, 13 Oct 1999 17:28:29 +0000 (13:28 -0400)
* regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
climb up the chain of insns.

From-SVN: r29949

gcc/ChangeLog
gcc/regmove.c

index 6a7151a35eb4078889357a05a90602c4c815e728..4567c46c1bcb3ed5db81df1a8f423976d085d181 100644 (file)
@@ -1,3 +1,8 @@
+1999-10-13  Brendan Kehoe  <brendan@cygnus.com>
+
+       * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
+       climb up the chain of insns.
+
 Wed Oct 13 10:20:58 1999  Richard Henderson  <rth@cygnus.com>
 
        * genrecog.c (write_subroutine): Careful for null trees.
index 98061afa482720a29cafeb64b019ff47aa7740d2..c637743e595b4c7c0377f73e64357c3ff25588a2 100644 (file)
@@ -679,7 +679,7 @@ optimize_reg_copy_3 (insn, dest, src)
       || ! find_reg_note (insn, REG_DEAD, src_reg)
       || REG_N_SETS (src_no) != 1)
     return;
-  for (p = PREV_INSN (insn); ! reg_set_p (src_reg, p); p = PREV_INSN (p))
+  for (p = PREV_INSN (insn); p && ! reg_set_p (src_reg, p); p = PREV_INSN (p))
     {
       if (GET_CODE (p) == CODE_LABEL || GET_CODE (p) == JUMP_INSN
          || (GET_CODE (p) == NOTE
@@ -698,6 +698,9 @@ optimize_reg_copy_3 (insn, dest, src)
       if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
        continue;
     }
+  if (! p)
+    return;
+
   if (! (set = single_set (p))
       || GET_CODE (SET_SRC (set)) != MEM
       || SET_DEST (set) != src_reg)