aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-manip.c
diff options
context:
space:
mode:
authorAndrew Pinski <andrew_pinski@playstation.sony.com>2008-03-11 09:36:51 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-03-11 09:36:51 +0000
commit1ffe34d9f7823398e9937858cfdfbbd33e2d9130 (patch)
treef1231d387b8e29a423766fa3401b01369f01515b /gcc/tree-ssa-loop-manip.c
parent7f2ad78b6dbee7d3124ba5fb4f953a3c5e22abde (diff)
downloadgcc-1ffe34d9f7823398e9937858cfdfbbd33e2d9130.zip
gcc-1ffe34d9f7823398e9937858cfdfbbd33e2d9130.tar.gz
gcc-1ffe34d9f7823398e9937858cfdfbbd33e2d9130.tar.bz2
re PR tree-optimization/31358 (IV-OPTs produces a weird MEM_REF)
2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com> Richard Guenther <rguenther@suse.de> PR tree-optimization/31358 * tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for the step with a NULL_TREE. * tree-ssa-loop-ivopts.c (find_bivs): Convert the step to sizetype if type is a pointer type. (add_candidate_1): Don't convert the base and step to the generic type if the orginal type is a pointer type. (add_iv_value_candidates): Use sizetype for the step if type is a pointer type. (cand_value_at): Likewise. * tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR for pointer types. * tree-affine.c (tree_to_aff_combination <POINTER_PLUS_EXPR>): Don't convert the tem affine to the type. (add_elt_to_tree): Use sizetype for the step if a pointer. Use POINTER_PLUS_EXPR for pointers. (aff_combination_to_tree): Use sizetype for the step if a pointer. Co-Authored-By: Richard Guenther <rguenther@suse.de> From-SVN: r133102
Diffstat (limited to 'gcc/tree-ssa-loop-manip.c')
-rw-r--r--gcc/tree-ssa-loop-manip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c
index 91aac3e..835b006 100644
--- a/gcc/tree-ssa-loop-manip.c
+++ b/gcc/tree-ssa-loop-manip.c
@@ -104,7 +104,7 @@ create_iv (tree base, tree step, tree var, struct loop *loop,
}
/* Gimplify the step if necessary. We put the computations in front of the
loop (i.e. the step should be loop invariant). */
- step = force_gimple_operand (step, &stmts, true, var);
+ step = force_gimple_operand (step, &stmts, true, NULL_TREE);
if (stmts)
bsi_insert_on_edge_immediate (pe, stmts);