]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-optimization/120089 - force all PHIs live for early-break vect
authorRichard Biener <rguenther@suse.de>
Mon, 5 May 2025 12:29:34 +0000 (14:29 +0200)
committerRichard Biener <rguenther@suse.de>
Sun, 11 May 2025 08:54:16 +0000 (10:54 +0200)
commit4017b37de2b39f4bbd7bb9524101558002a258e8
tree6bb218dd5d7d3f36c4dae8669d558f65b531c994
parent856c493db1d5e2fa9377f4a0c438afbcaf6c7e01
tree-optimization/120089 - force all PHIs live for early-break vect

The following makes sure to even mark unsupported PHIs live when
doing early-break vectorization since otherwise we fail to validate
we can vectorize those and generate wrong code based on the scalar
PHIs which would only work with a vectorization factor of one.

PR tree-optimization/120089
* tree-vect-stmts.cc (vect_stmt_relevant_p): Mark all
PHIs live when not already so and doing early-break
vectorization.
(vect_mark_stmts_to_be_vectorized): Skip virtual PHIs.
* tree-vect-slp.cc (vect_analyze_slp): Robustify handling
of early-break forced IVs.

* gcc.dg/vect/vect-early-break_134-pr120089.c: New testcase.

(cherry picked from commit 9def392a1b63a198d15d972f73b4afc888389d7c)
gcc/testsuite/gcc.dg/vect/vect-early-break_134-pr120089.c [new file with mode: 0644]
gcc/tree-vect-slp.cc
gcc/tree-vect-stmts.cc