]> git.ipfire.org Git - thirdparty/gcc.git/commit
middle-end: don't pass loop_vinfo to vect_set_loop_condition during prolog peeling
authorTamar Christina <tamar.christina@arm.com>
Fri, 20 Oct 2023 13:58:39 +0000 (14:58 +0100)
committerTamar Christina <tamar.christina@arm.com>
Fri, 20 Oct 2023 14:00:37 +0000 (15:00 +0100)
commiteb15fad3190a8b33e3e451b964ff1ecf08bbb113
treeec0b7c1c706dfd58dbc44798d584f8976f70c0fe
parenta1fc2cc0a8a8b97dbc3dc6715fd4f384d9204845
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.
gcc/tree-vect-loop-manip.cc