From patchwork Thu Feb 1 10:11:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 195237 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2719:b0:106:209c:c626 with SMTP id hl25csp46372dyb; Thu, 1 Feb 2024 02:12:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IHaa9Qd3Kf76u4crRLG4w+D8i76e9Rc7GGtqw55Dkd+pOsVgVBSt7WExUW8DajNVp3RRDlR X-Received: by 2002:a05:622a:1993:b0:42b:f0ce:d791 with SMTP id u19-20020a05622a199300b0042bf0ced791mr4074298qtc.20.1706782330819; Thu, 01 Feb 2024 02:12:10 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706782330; cv=pass; d=google.com; s=arc-20160816; b=p4xw8ksaj82D5WHySTiyNnXZrhteUv0K5JSwHzeVqrEHKIt1AXLD0c5sa1bIKm/mFu YhtH/nPsdIxlq1vt6pEBiGODFnpg8S5za1xY0p9BFD6le8lzL6ezIz4Nvlr3GpA5cI5Z GQ8l52vczSvNy3cbyciqCpN2FyTe0jK+ymdnUfOTizAvBIwFmYy3frqZsorums1YFknF MPKn+PDnu4BQoeuUS490qveSDSQ7cVs/9I5XID3zN38ASNxafbKuaoUvKCWg6TQRfB6a FbHs7Q5G43HlgtTEPPWkxr9kZNBxmKZwDjTJp+65s7uWdGq6sRgB10dOUnd3ZzI7uCdD 33DQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:errors-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:mime-version :subject:to:from:date:dkim-signature:dkim-signature:dkim-signature :dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=1nOcY9tMTcwxlczss8y5r/Va1lJqnyezhKOp69hi6S4=; fh=Z1MLegCODF5rkh7iCssLNEGAdUR1qodsSGSGwbMBiwk=; b=uxQ0/2z+bOJKhsBsgEsHgF9ZuCLxGW/Xk5bcI2em5iTey5wavhcVI4FkOKV+wQA2eR QiA6JnSgjHcJ1FkaqEpOUzQE20rn3iqBGS1GPo0ixQ6sMXbPi9UaiyOyikrgVisrbmte JCkohX9nQzgqp4s1G7Xg09ps50GcwGVd9HBrfHYvpwsaH+nAD8FAv/KgfnVVoiND4ThU xpcDEZfz39g2F3eaIy3Qf/OJmIllmpKVVE8oNCI+PtDLv2PvUYcu0BPLFeJJi/e69I+u JCvdxnJ3Nb1pL0tX6pZ9M9W3FvD6yDh/pJObFLUo8dujFeeeITwE9/zJFRUFZ7RPRWaS 2+nA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=XKEudfi6; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=XKEudfi6; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de X-Forwarded-Encrypted: i=1; AJvYcCV9hzkVvOP3pSb+ihZnXa0/ZJ6vX5+rzixXhkYTDbXLzkInHKQ5mDE0gwi1/5Jctm8+qYIAdce/SQag/OhPdLeaUbsSZA== Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id n16-20020ac85a10000000b0042be7f3b800si2914763qta.715.2024.02.01.02.12.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Feb 2024 02:12:10 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=XKEudfi6; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=XKEudfi6; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 869F43858C3A for ; Thu, 1 Feb 2024 10:12:10 +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 651153858C62 for ; Thu, 1 Feb 2024 10:11:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 651153858C62 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 651153858C62 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=1706782277; cv=none; b=qH1vo7RPmZuT4FF5xwj+Hp2l9CECIrY1BzlWlJLz+N927ZTV3hUpvR8fi3DAwqlDzhZRH6KQcIGAAf5aM2ce/ulcgjnUha/Xh/Wj/64DRwieK9XrfJZdmIn4yFqApOuvJnpT3K3v922nQ1SVqbuUI37Aifg+Nq9iLIzIU2cAJvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706782277; c=relaxed/simple; bh=SHpseVK6NKsMSF4oSsT1Za+loAyUda7BC1MYB8KwLIQ=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date: From:To:Subject:MIME-Version; b=hSAfZJFdt9kFVPko93Z4MnLsY50dCXpbRcjAMhdf/J6Smp2+jpPyN11oO9RkvV+vWWXXLJ9JerkAEMxAwzJYOh8mILDQUTDjiGAkrZxeiLi4TZ/T6pb7h/VA2L0Pl6nuv8oeL9i58osNeGf76fC2DHG5aCQEeMGjq8h1YOQbk+0= 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 4FBD521D7C for ; Thu, 1 Feb 2024 10:11:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1706782274; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=1nOcY9tMTcwxlczss8y5r/Va1lJqnyezhKOp69hi6S4=; b=XKEudfi6hz59x2fx8CAGdS2Fz4cXCszAAm5tFwUEYn90DytImxqg+H6RBI9aQGcLHnz2Le JkD/jjpmPEEJmJ+bUVWwylvRijHzqWNLU0FJcdEz9Z/AhUGt9TUhc1bkByUUNar8PQNPfW 1UmaRpUECJEhvTO4FU1HIGivEcXgOms= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1706782274; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=1nOcY9tMTcwxlczss8y5r/Va1lJqnyezhKOp69hi6S4=; b=zsj6x/z54Kp3i5DVCxS2TvwlNXvcKhgxHSmc3bufF8E99DMXPgYYqpQl5xOzOmWCrQrEtn B9pib59FK7lfMqAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1706782274; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=1nOcY9tMTcwxlczss8y5r/Va1lJqnyezhKOp69hi6S4=; b=XKEudfi6hz59x2fx8CAGdS2Fz4cXCszAAm5tFwUEYn90DytImxqg+H6RBI9aQGcLHnz2Le JkD/jjpmPEEJmJ+bUVWwylvRijHzqWNLU0FJcdEz9Z/AhUGt9TUhc1bkByUUNar8PQNPfW 1UmaRpUECJEhvTO4FU1HIGivEcXgOms= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1706782274; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=1nOcY9tMTcwxlczss8y5r/Va1lJqnyezhKOp69hi6S4=; b=zsj6x/z54Kp3i5DVCxS2TvwlNXvcKhgxHSmc3bufF8E99DMXPgYYqpQl5xOzOmWCrQrEtn B9pib59FK7lfMqAQ== Date: Thu, 1 Feb 2024 11:11:14 +0100 (CET) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] tree-optimization/113693 - LC SSA and region VN MIME-Version: 1.0 Authentication-Results: smtp-out1.suse.de; none X-Spamd-Result: default: False [-0.60 / 50.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; 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]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; BAYES_HAM(-3.00)[100.00%] X-Spam-Level: X-Spam-Score: -0.60 X-Spam-Status: No, score=-10.7 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, T_SCC_BODY_TEXT_LINE 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+ouuuleilei=gmail.com@gcc.gnu.org Message-Id: <20240201101210.869F43858C3A@sourceware.org> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789690988941049063 X-GMAIL-MSGID: 1789690988941049063 The following fixes LC SSA preserving with region VN which was broken when availability checking was enhanced to treat not visited value numbers as available. The following makes sure to honor availability data we put in place for LC SSA preserving instead. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/113693 * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Honor avail data when available. * gcc.dg/pr113693.c: New testcase. --- gcc/testsuite/gcc.dg/pr113693.c | 13 +++++++++++++ gcc/tree-ssa-sccvn.cc | 11 +++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/pr113693.c diff --git a/gcc/testsuite/gcc.dg/pr113693.c b/gcc/testsuite/gcc.dg/pr113693.c new file mode 100644 index 00000000000..a6f55199d0f --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr113693.c @@ -0,0 +1,13 @@ +/* { dg-do compile { target bitint } } */ +/* { dg-options "-O2 -fdbg-cnt=vect_loop:1" } */ + +_BitInt(837) g, h; + +void +fn1(void) +{ + for (; g; g++) + for (; h; h++) + ; +} +/* { dg-message "dbgcnt" "" { target *-*-* } 0 } */ diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc index 9bed9b3cc69..bbcf86588f9 100644 --- a/gcc/tree-ssa-sccvn.cc +++ b/gcc/tree-ssa-sccvn.cc @@ -7723,12 +7723,15 @@ rpo_elim::eliminate_avail (basic_block bb, tree op) if (SSA_NAME_IS_DEFAULT_DEF (valnum)) return valnum; vn_ssa_aux_t valnum_info = VN_INFO (valnum); - /* See above. */ - if (!valnum_info->visited) - return valnum; vn_avail *av = valnum_info->avail; if (!av) - return NULL_TREE; + { + /* See above. But when there's availability info prefer + what we recorded there for example to preserve LC SSA. */ + if (!valnum_info->visited) + return valnum; + return NULL_TREE; + } if (av->location == bb->index) /* On tramp3d 90% of the cases are here. */ return ssa_name (av->leader);