diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/flow.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9965f95..2da5c60 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> @@ -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) { |
