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 <rguent...@suse.de> 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