loop-iv.c (simple_rhs_p): Allow more kinds of expressions.

* loop-iv.c (simple_rhs_p): Allow more kinds of expressions.

From-SVN: r145355
This commit is contained in:
Bernd Schmidt 2009-03-31 15:22:13 +00:00 committed by Bernd Schmidt
parent 28af33b031
commit b30321cd32
2 changed files with 8 additions and 2 deletions

View File

@ -23,6 +23,8 @@
changed. Use this when trying to improve the upper bound.
Generate the comparison by using simplify_gen_relational.
* loop-iv.c (simple_rhs_p): Allow more kinds of expressions.
2009-03-31 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/27237

View File

@ -1336,9 +1336,10 @@ simple_rhs_p (rtx rhs)
{
case PLUS:
case MINUS:
case AND:
op0 = XEXP (rhs, 0);
op1 = XEXP (rhs, 1);
/* Allow reg + const and reg + reg. */
/* Allow reg OP const and reg OP reg. */
if (!(REG_P (op0) && !HARD_REGISTER_P (op0))
&& !CONSTANT_P (op0))
return false;
@ -1349,9 +1350,12 @@ simple_rhs_p (rtx rhs)
return true;
case ASHIFT:
case ASHIFTRT:
case LSHIFTRT:
case MULT:
op0 = XEXP (rhs, 0);
op1 = XEXP (rhs, 1);
/* Allow reg << const. */
/* Allow reg OP const. */
if (!(REG_P (op0) && !HARD_REGISTER_P (op0)))
return false;
if (!CONSTANT_P (op1))