summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-03 07:16:39 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-03 07:16:39 +0000
commit4de464f3dc6c1501ea98d77278ee26dd6c54f547 (patch)
treebcf043747af6b973e682ef85917025765b46713b
parentf0bf97b87723d1465e3ed01b490f2bdcbdb2e95f (diff)
downloadppe42-gcc-4de464f3dc6c1501ea98d77278ee26dd6c54f547.tar.gz
ppe42-gcc-4de464f3dc6c1501ea98d77278ee26dd6c54f547.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35443 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9965f9559b8..2da5c604aa0 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>
diff --git a/gcc/flow.c b/gcc/flow.c
index 3b5539e8319..0b92d48448c 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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)
{
OpenPOWER on IntegriCloud