From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1666) id D44D9384DEFD; Thu, 15 Feb 2024 14:38:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D44D9384DEFD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1708007892; bh=qm5mnYQY/sS/Fzd8+N3GDBYJp/Pp6sQAwluCIKztPlE=; h=From:To:Subject:Date:From; b=AReAA+jPCiowGD4U7awzR2NInebXaxo9/c8vuLoSdR8IsivbUG3rBvUqLTUSIU713 v2wXISF46AO/hJcPQU+4WDjop9JhEGRbLcYvjOTvQFQMXBQZSGca0SX61wuqTtC/19 Q0lwl0rRHq8t9lE8esayBXGQ8zfI6BI3/yex7Rbs= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Richard Biener To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-9011] tree-optimization/111156 - properly dissolve SLP only groups X-Act-Checkin: gcc X-Git-Author: Richard Biener X-Git-Refname: refs/heads/master X-Git-Oldrev: 2acf478bf10fc38e9cbce77ac5ecaf5abfb724b1 X-Git-Newrev: b312cf21afd62b43fbc5034703e2796b0c3c416d Message-Id: <20240215143812.D44D9384DEFD@sourceware.org> Date: Thu, 15 Feb 2024 14:38:12 +0000 (GMT) List-Id: https://gcc.gnu.org/g:b312cf21afd62b43fbc5034703e2796b0c3c416d commit r14-9011-gb312cf21afd62b43fbc5034703e2796b0c3c416d Author: Richard Biener Date: Thu Feb 15 13:41:25 2024 +0100 tree-optimization/111156 - properly dissolve SLP only groups The following fixes the omission of failing to look at pattern stmts when we need to dissolve SLP only groups. PR tree-optimization/111156 * tree-vect-loop.cc (vect_dissolve_slp_only_groups): Look at the pattern stmt if any. Diff: --- gcc/tree-vect-loop.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index 9e26b09504df..5a5865c42fc6 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -2551,7 +2551,8 @@ vect_dissolve_slp_only_groups (loop_vec_info loop_vinfo) FOR_EACH_VEC_ELT (datarefs, i, dr) { gcc_assert (DR_REF (dr)); - stmt_vec_info stmt_info = loop_vinfo->lookup_stmt (DR_STMT (dr)); + stmt_vec_info stmt_info + = vect_stmt_to_vectorize (loop_vinfo->lookup_stmt (DR_STMT (dr))); /* Check if the load is a part of an interleaving chain. */ if (STMT_VINFO_GROUPED_ACCESS (stmt_info))