From 50ad7db2a849954f37b412fbb466fcda2a655a38 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sun, 22 May 2011 18:57:19 +0000 Subject: [PATCH] re PR middle-end/45098 (Missed induction variable optimization) 2011-05-22 Tom de Vries PR target/45098 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test for call to get_shiftadd_cost. From-SVN: r174033 --- gcc/ChangeLog | 6 ++++++ gcc/tree-ssa-loop-ivopts.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 81e2d20fa2d..a022b62d23e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-05-22 Tom de Vries + + PR target/45098 + * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fixed const test + for call to get_shiftadd_cost. + 2011-05-22 Uros Bizjak PR target/49104 diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 69df4b62b77..10fd7dc48c7 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -3685,7 +3685,7 @@ force_expr_to_var_cost (tree expr, bool speed) mult = op0; if (mult != NULL_TREE - && TREE_CODE (TREE_OPERAND (mult, 1)) == INTEGER_CST + && cst_and_fits_in_hwi (TREE_OPERAND (mult, 1)) && get_shiftadd_cost (expr, mode, cost0, cost1, mult, speed, &sa_cost)) return sa_cost;