From patchwork Wed Mar 27 11:49:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 1916712 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=yUH/rYqp; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=xrXuBOE4; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=1OXf6dpO; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=bS7/brQD; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4V4Q2N35BPz1yWr for ; Wed, 27 Mar 2024 22:49:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B8F613861C56 for ; Wed, 27 Mar 2024 11:49:46 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 24D5E3861012 for ; Wed, 27 Mar 2024 11:49:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 24D5E3861012 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 24D5E3861012 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711540170; cv=none; b=fa8FflfhGAqzFQVPXtoyIC0KOSlk/IRQ0inyFg0vh4ShALqcWqrmJIpJzjSuqJOsYZ3+id/lbAtJfqUzbAzKt5VAYqOskQA/0aGanmP+6AgrY1iQCJVazS0L+MfM2bDril4L4M7B4awV2POQRBxHJ07m5XBHeq1TzQ1GxsfacL8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711540170; c=relaxed/simple; bh=7WW9asRoGNZ93Acn9tEcNcsRrt/11EfZT++AqsG5G3g=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date: From:To:Subject:MIME-Version; b=qzjlwTOCZR2EwY/w0PnorsTMN/38vbyxp3MhHPSfgYxDaKKM9EWoLiJgBEag1QFeqQhTK+3+CO6oPRs1w1Tc6+ORjYD0jho+TrKJiRNZtCNriOEg7yiWiGaDgZkJvzu9bPyBvrEpOMWZmuAg/RYUf3p4sqO/WKeYQ0hoKLvNtJc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from [10.168.4.150] (unknown [10.168.4.150]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 1B94A38936 for ; Wed, 27 Mar 2024 11:49:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1711540168; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=XFyH3KEk/n7iHZS9VSfaHP2C9L/1HTRdHFuKPUa7IPU=; b=yUH/rYqp31j6M3cxEYXCV9aBdbS7GHEIVyh6pLbW0vLMnebLT6UjSys3dKPvn5E4ilTJ9O zXfNBPBNa/3b6bzQ7gE1fHxQYU4imoJFEUAKCjCespfS+eo+fLVHmrlOi+FKmlNSbJ1dfA E68/TjIhsAW91bjO1tq4bBXcWl6QtfQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1711540168; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=XFyH3KEk/n7iHZS9VSfaHP2C9L/1HTRdHFuKPUa7IPU=; b=xrXuBOE4KGqZQHmwutIKTE8diTU+xrmoA5OT/Psn+NqiIOSxiBnGtKhU67bSw5iHhZFFk9 RW+vuuremTGj0UAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1711540166; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=XFyH3KEk/n7iHZS9VSfaHP2C9L/1HTRdHFuKPUa7IPU=; b=1OXf6dpO3MxI5w2edh3Y6/6Jww20RMoEdzQoyWvtMrHmHlagV4KNHZQ4NJdRMT4kJVuxql gZ/wHBuP/A7gG3BN7pcMBXEGXEAhDK0dezeJmBKMjNdgBCNLDsusw/6bQ15yEXBOEee68t as2imAxVHlwx+V0hq6Tg0N64zuI8zLU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1711540166; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=XFyH3KEk/n7iHZS9VSfaHP2C9L/1HTRdHFuKPUa7IPU=; b=bS7/brQDXUCEOHTF9W58GIMFTTsuBxau4b8QuYCn8bD5Vr+A+9PezMz2kGPgEITJcpAcqG YD1SCC/CstSXhcAA== Date: Wed, 27 Mar 2024 12:49:26 +0100 (CET) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] tree-optimization/114057 - handle BB reduction remain defs as LIVE MIME-Version: 1.0 Authentication-Results: smtp-out1.suse.de; none X-Spam-Score: 4.41 X-Spamd-Result: default: False [4.41 / 50.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.99)[-0.993]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MISSING_MID(2.50)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DBL_BLOCKED_OPENRESOLVER(0.00)[tree-vect-slp.cc:url]; NEURAL_SPAM_SHORT(3.00)[1.000]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; BAYES_HAM(-0.00)[35.99%] X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MISSING_MID, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Message-Id: <20240327114946.B8F613861C56@sourceware.org> The following makes sure to record the scalars we add to the BB reduction vectorization result as scalar uses for the purpose of computing live lanes. This restores vectorization in the bondfree.c TU of 435.gromacs. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/114057 * tree-vect-slp.cc (vect_bb_slp_mark_live_stmts): Mark BB reduction remain defs as scalar uses. --- gcc/tree-vect-slp.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc index adb2d9ae1e5..2e5481acbc7 100644 --- a/gcc/tree-vect-slp.cc +++ b/gcc/tree-vect-slp.cc @@ -6665,8 +6665,14 @@ vect_bb_slp_mark_live_stmts (bb_vec_info bb_vinfo) auto_vec worklist; for (slp_instance instance : bb_vinfo->slp_instances) - if (!visited.add (SLP_INSTANCE_TREE (instance))) - worklist.safe_push (SLP_INSTANCE_TREE (instance)); + { + if (SLP_INSTANCE_KIND (instance) == slp_inst_kind_bb_reduc) + for (tree op : SLP_INSTANCE_REMAIN_DEFS (instance)) + if (TREE_CODE (op) == SSA_NAME) + scalar_use_map.put (op, 1); + if (!visited.add (SLP_INSTANCE_TREE (instance))) + worklist.safe_push (SLP_INSTANCE_TREE (instance)); + } do { @@ -6684,7 +6690,8 @@ vect_bb_slp_mark_live_stmts (bb_vec_info bb_vinfo) if (child && !visited.add (child)) worklist.safe_push (child); } - } while (!worklist.is_empty ()); + } + while (!worklist.is_empty ()); visited.empty ();