aboutsummaryrefslogtreecommitdiff
path: root/gcc/modulo-sched.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/modulo-sched.cc')
-rw-r--r--gcc/modulo-sched.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/modulo-sched.cc b/gcc/modulo-sched.cc
index 08af5a9..0023467 100644
--- a/gcc/modulo-sched.cc
+++ b/gcc/modulo-sched.cc
@@ -356,7 +356,13 @@ doloop_register_get (rtx_insn *head, rtx_insn *tail)
reg = XEXP (condition, 0);
else if (GET_CODE (XEXP (condition, 0)) == PLUS
&& REG_P (XEXP (XEXP (condition, 0), 0)))
- reg = XEXP (XEXP (condition, 0), 0);
+ {
+ if (CONST_INT_P (XEXP (condition, 1))
+ && INTVAL (XEXP (condition, 1)) == -1)
+ reg = XEXP (XEXP (condition, 0), 0);
+ else
+ return NULL_RTX;
+ }
else
gcc_unreachable ();