aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2023-10-20 14:58:39 +0100
committerTamar Christina <tamar.christina@arm.com>2023-10-20 15:00:37 +0100
commiteb15fad3190a8b33e3e451b964ff1ecf08bbb113 (patch)
treeec0b7c1c706dfd58dbc44798d584f8976f70c0fe /gcc
parenta1fc2cc0a8a8b97dbc3dc6715fd4f384d9204845 (diff)
downloadgcc-eb15fad3190a8b33e3e451b964ff1ecf08bbb113.zip
gcc-eb15fad3190a8b33e3e451b964ff1ecf08bbb113.tar.gz
gcc-eb15fad3190a8b33e3e451b964ff1ecf08bbb113.tar.bz2
middle-end: don't pass loop_vinfo to vect_set_loop_condition during prolog peeling
During the refactoring I had passed loop_vinfo on to vect_set_loop_condition during prolog peeling. This parameter is unused in most cases except for in vect_set_loop_condition_partial_vectors where it's behaviour depends on whether loop_vinfo is NULL or not. Apparently this code expect it to be NULL and it reads the structures from a different location. This fixes the failing testcase which was not using the lens values determined earlier in vectorizable_store because it was looking it up in the given loop_vinfo instead. gcc/ChangeLog: PR tree-optimization/111866 * tree-vect-loop-manip.cc (vect_do_peeling): Pass null as vinfo to vect_set_loop_condition during prolog peeling.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree-vect-loop-manip.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc
index db1d4f86..9c25512 100644
--- a/gcc/tree-vect-loop-manip.cc
+++ b/gcc/tree-vect-loop-manip.cc
@@ -3235,7 +3235,7 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree niters, tree nitersm1,
/* Update the number of iterations for prolog loop. */
tree step_prolog = build_one_cst (TREE_TYPE (niters_prolog));
- vect_set_loop_condition (prolog, prolog_e, loop_vinfo, niters_prolog,
+ vect_set_loop_condition (prolog, prolog_e, NULL, niters_prolog,
step_prolog, NULL_TREE, false);
/* Skip the prolog loop. */