diff options
author | Tamar Christina <tamar.christina@arm.com> | 2023-10-20 14:58:39 +0100 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2023-10-20 15:00:37 +0100 |
commit | eb15fad3190a8b33e3e451b964ff1ecf08bbb113 (patch) | |
tree | ec0b7c1c706dfd58dbc44798d584f8976f70c0fe /gcc | |
parent | a1fc2cc0a8a8b97dbc3dc6715fd4f384d9204845 (diff) | |
download | gcc-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.cc | 2 |
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. */ |