From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1666) id 977803857C4F; Fri, 6 Oct 2023 07:07:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 977803857C4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1696576027; bh=QO7QUJHj/4VB24ENiiMGWUUbIqDqYjCDj99GH0H5ns8=; h=From:To:Subject:Date:From; b=lgJfuqNWFL2vHVjv3XdqcsjfOMgzvY7mSNxeBhCSIABfqs8yQcfLSbzmGZzt0KCQ8 y88IPAHGFh00QGgmtofLH6KG0EiH6UhTJQdFRRBLcXtWjpysHuti7xv7HVUKmRPMVk pWQckjNfLMYemSEu6B2nRfm8m/NLx5ubr2S9HA6E= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Richard Biener To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/rguenth/heads/vect-force-slp)] Allow bigger SLP graphs X-Act-Checkin: gcc X-Git-Author: Richard Biener X-Git-Refname: refs/users/rguenth/heads/vect-force-slp X-Git-Oldrev: 8878d6aead985951b8e6c3bad107f64de74a648d X-Git-Newrev: 8520f385b0f424d66d20db40ff1bb54cec063802 Message-Id: <20231006070707.977803857C4F@sourceware.org> Date: Fri, 6 Oct 2023 07:07:07 +0000 (GMT) List-Id: https://gcc.gnu.org/g:8520f385b0f424d66d20db40ff1bb54cec063802 commit 8520f385b0f424d66d20db40ff1bb54cec063802 Author: Richard Biener Date: Fri Sep 29 13:05:01 2023 +0200 Allow bigger SLP graphs When doing single-lane SLP discovery only we're easily running into the SLP graph size limit when patterns are involved. The following ups the limit from the number of scalar stmts to the number of scalar or pattern stmts by using the number of stmt_vec_infos created. * tree-vect-loop.cc (vect_analyze_loop_2): Use the number of stmt_vec_infos created to limit the SLP graph size. Diff: --- gcc/tree-vect-loop.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index 23c6e8259e7..490d4282ac8 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -2723,8 +2723,10 @@ vect_analyze_loop_2 (loop_vec_info loop_vinfo, bool &fatal, if (slp) { /* Check the SLP opportunities in the loop, analyze and build - SLP trees. */ - ok = vect_analyze_slp (loop_vinfo, LOOP_VINFO_N_STMTS (loop_vinfo)); + SLP trees. Use the number of stmt_vec_infos as graph limit + since that also includes pattern stmts which LOOP_VINFO_N_STMTS + does not. */ + ok = vect_analyze_slp (loop_vinfo, loop_vinfo->stmt_vec_infos.length ()); if (!ok) return ok;