https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120089
Connor Abbott <cwabbott0 at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenther at suse dot de
--- Comment #16 from Connor Abbott <cwabbott0 at gmail dot com> ---
I've finally finished bisecting this, fwiw.
589d79e6268b055422a7b6c11cd0a8a4f2531a8c is the first bad commit
commit 589d79e6268b055422a7b6c11cd0a8a4f2531a8c
Author: Richard Biener <[email protected]>
Date: Fri Feb 14 14:48:41 2025 +0100
tree-optimization/118852 - wrong code with 502.gcc_r
502.gcc_r when built with -fprofile-generate exposes a SLP discovery
issue where an IV forced live due to early break is not properly
discovered if its latch def is part of a different IVs SSA cycle.
To mitigate this we have to make sure to create an SLP instance
for the original IV. Ideally we'd handle all vect_induction_def
the same but this is left for next stage1.
PR tree-optimization/118852
* tree-vect-slp.cc (vect_analyze_slp): For early-break
forced-live IVs make sure we create an appropriate
entry into the SLP graph.
* gcc.dg/vect/pr118852.c: New testcase.
gcc/testsuite/gcc.dg/vect/pr118852.c | 105
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
gcc/tree-vect-slp.cc | 24 +++++++++++++++++++++---
2 files changed, 126 insertions(+), 3 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/vect/pr118852.c