OSDN Git Service

* flow.c (find_auto_inc): Verify that we've got a REG before
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Aug 2000 07:16:39 +0000 (07:16 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Aug 2000 07:16:39 +0000 (07:16 +0000)
        peeking at its regno.  Fail, don't abort if we can't find
        the increment of the desired register.

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

gcc/ChangeLog
gcc/flow.c

index 9965f95..2da5c60 100644 (file)
@@ -1,5 +1,9 @@
 Thu Aug  3 01:05:32 2000  Jeffrey A Law  (law@cygnus.com)
 
+       * flow.c (find_auto_inc): Verify that we've got a REG before
+       peeking at its regno.  Fail, don't abort if we can't find
+       the increment of the desired register.
+
        * pa.md (shadd height reduction patterns/splitters): Remove.
 
 2000-08-02  Jim Wilson  <wilson@cygnus.com>
index 3b5539e..0b92d48 100644 (file)
@@ -5018,12 +5018,12 @@ find_auto_inc (pbi, x, insn)
   if (GET_CODE (y) != PLUS)
     return;
 
-  if (REGNO (XEXP (y, 0)) == REGNO (addr))
+  if (REG_P (XEXP (y, 0)) && REGNO (XEXP (y, 0)) == REGNO (addr))
     inc_val = XEXP (y, 1);
-  else if (REGNO (XEXP (y, 1)) == REGNO (addr))
+  else if (REG_P (XEXP (y, 1)) && REGNO (XEXP (y, 1)) == REGNO (addr))
     inc_val = XEXP (y, 0);
   else
-    abort ();
+    return;
 
   if (GET_CODE (inc_val) == CONST_INT)
     {