From patchwork Wed Jul 31 17:33:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Law X-Patchwork-Id: 1967239 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=UJWdGWe4; 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 4WYzjZ2LTLz1yYq for ; Thu, 1 Aug 2024 03:34:09 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 63E283857000 for ; Wed, 31 Jul 2024 17:34:07 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by sourceware.org (Postfix) with ESMTPS id DA0633858C78 for ; Wed, 31 Jul 2024 17:33:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DA0633858C78 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DA0633858C78 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1722447225; cv=none; b=nofJvMDzDvnO/6jjIZxy0kGEdITTr3ibM1QYm9B79xY18keQbcnyKnXlyGnt+xe2Uya4hyyzn6MnZ6SObV8DHOaAhiQPYuIltQBNvXkQm/igT+NNozuMSXS0HWRA/AzFMgtyIoGbTjLPiKT3rj8XNuoRAALALkp9LEaca5cQ6jA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1722447225; c=relaxed/simple; bh=HiOSH0XlGgPMEl6q0e1GQffLLlSr61B3+M5bo/V/CNg=; h=DKIM-Signature:Message-ID:Date:MIME-Version:From:Subject:To; b=CyLCHsWTc4tFJTzLhWflZH+7ULwUSY1/IfH1IPc7x+NAkF6JX93U27leA3MSptDTRO5QQhLVtVYCsiaWKADVjGv4OahkGrXEoboElMhkeR0I3s8dtYQhGQwFLx+3tAju/8kSALsPq2fsp4FzbCiTU96NoEtPmCenYxuUy15GdPw= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1fc52394c92so52385365ad.1 for ; Wed, 31 Jul 2024 10:33:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722447218; x=1723052018; darn=gcc.gnu.org; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=Z5hwTJKhr8zCyKcv5MDmZKOlxQXyhY6HRA2tOeu2DqY=; b=UJWdGWe4QLrv+D+UF5+kEYonYXi8F8hUFjGdw4+pLza8VNv14WsSVg0fzrnKRzf7QO ey98yRfCgC7COs0cRIrgRL0f4HZVPOndF3hlCUjo/W2D7blHpp2grvwGp66q7+5fqEfX MZxwprZvtzNz4KPKmVDk2moBbRjFeDb6OgNmgBJTQu+qgvOIIf1VSHgBTwibjjGrlf7B MOY3MGZX4FyItG4okpR4PeuCWaVo1rOSB9c8FrbxgDdixjxohV0L4eV8L4FgDfDUoZXP KQL2ChihdgCUxrQxpobSjcmrYBMjshcwEmjH6Jjdn7LrW0CpPNfnDT6Jml2g2RHmCV1c kOuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722447218; x=1723052018; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Z5hwTJKhr8zCyKcv5MDmZKOlxQXyhY6HRA2tOeu2DqY=; b=Lgt7ea2Hsit+bxKpg1omgEB0GHMhI8ntrLe3SgTHODjZmLSZLYNcJ6uFQjg49TEish PJMaXN7nED1nDCeQ28m4FsM8kN+QTP51/pQ41cpmT2GM6n8f1ItqoEjt3Uq7ui1Ukovw 8ES53eJJLdF2alh+CrrtRZU3Wa8tKaXYAJ4Lq3ICPHqSYA7ZEhE03xW1JDNlup95NQj8 LN3AgrOnyyiZMaNK5Dk0sr2LpF68wZopvquOEAOYVIloj22VcEFnvcGj7MmTeTCguZcW HWTjYwKdWgLnV9LdvXSsfHTUMSHaNMNqfAUEBFcjmtkSJsBsCKdsd0+A2NNAEJ0aF8HD EdFg== X-Gm-Message-State: AOJu0YyCW4Z8P/m8IUjOIYmtBATkYiHF7R/KQHvICiztW8omoeVp/sXj ySlxk0+sD9NTmlDXu+m/E8Hyj944Gy35SqZYCqvto+6l6+tYymj9isHl9w== X-Google-Smtp-Source: AGHT+IGAOPrHarMnYFGelyXQRCcwcW0IKM0YKGmUDrigUUC7Kk6D0p3h2lR1PsjapVLMqQoH18qUgw== X-Received: by 2002:a17:903:1252:b0:1fb:9280:c970 with SMTP id d9443c01a7336-1ff4ce5787fmr790765ad.7.1722447218215; Wed, 31 Jul 2024 10:33:38 -0700 (PDT) Received: from [172.31.1.124] ([172.56.168.82]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1fed7cb0370sm122850305ad.65.2024.07.31.10.33.37 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 31 Jul 2024 10:33:37 -0700 (PDT) Message-ID: <9c173a09-7e1e-4064-bc44-f83e4ce7dc31@gmail.com> Date: Wed, 31 Jul 2024 11:33:36 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Content-Language: en-US From: Jeff Law Subject: [committed][target/116104] Fix more rtl-checking failures in ext-dce To: "gcc-patches@gcc.gnu.org" X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_ABUSEAT, RCVD_IN_DNSWL_NONE, RCVD_IN_SBL_CSS, 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 More enable-rtl-checking fixes for ext-dce. Very similar to the one recently posted, this time covering more of the shift ops. I checked all instances of CONSTANT_P guarding [U]INTVAL and fixed all that looked wrong. I also created a dummy assembler/linker so that I could run the GCC testsuite on gcn and verified that wasn't tripping any rtl-checking bugs in ext-dce anymore. Obviously this has also gone through x86 bootstrap and regression testing. Pushing to the trunk. Jeff commit 69a9ee05c68bd1fe7f5b3be86baacc8f0a599915 Author: Jeff Law Date: Wed Jul 31 11:30:27 2024 -0600 [target/116104] Fix more rtl-checking failures in ext-dce More enable-rtl-checking fixes for ext-dce. Very similar to the one recently posted, this time covering more of the shift ops. I checked all instances of CONSTANT_P guarding [U]INTVAL and fixed all that looked wrong. I also created a dummy assembler/linker so that I could run the GCC testsuite on gcn and verified that wasn't tripping any rtl-checking bugs in ext-dce anymore. Obviously this has also gone through x86 bootstrap and regression tested. Pushing to the trunk. pr target/116104 gcc/ * ext-dce.cc (carry_backpropagate): Change more guards of [U]INTVAL to test CONST_INT_P rather than CONSTANT_P, fixing rtl-checking failures. diff --git a/gcc/ext-dce.cc b/gcc/ext-dce.cc index f7b0eb11418..97a66427118 100644 --- a/gcc/ext-dce.cc +++ b/gcc/ext-dce.cc @@ -501,7 +501,7 @@ carry_backpropagate (unsigned HOST_WIDE_INT mask, enum rtx_code code, rtx x) /* We propagate for the shifted operand, but not the shift count. The count is handled specially. */ case LSHIFTRT: - if (CONSTANT_P (XEXP (x, 1)) + if (CONST_INT_P (XEXP (x, 1)) && known_lt (UINTVAL (XEXP (x, 1)), GET_MODE_BITSIZE (mode))) return mmask & (mask << INTVAL (XEXP (x, 1))); return mmask; @@ -509,7 +509,7 @@ carry_backpropagate (unsigned HOST_WIDE_INT mask, enum rtx_code code, rtx x) /* We propagate for the shifted operand, but not the shift count. The count is handled specially. */ case ASHIFTRT: - if (CONSTANT_P (XEXP (x, 1)) + if (CONST_INT_P (XEXP (x, 1)) && known_lt (UINTVAL (XEXP (x, 1)), GET_MODE_BITSIZE (mode))) { HOST_WIDE_INT sign = 0; @@ -526,7 +526,7 @@ carry_backpropagate (unsigned HOST_WIDE_INT mask, enum rtx_code code, rtx x) return 0; if (XEXP (x, 1) == const1_rtx) return mmask; - if (CONSTANT_P (XEXP (x, 1))) + if (CONST_INT_P (XEXP (x, 1))) { if (pow2p_hwi (INTVAL (XEXP (x, 1)))) return mmask & (mask << (GET_MODE_BITSIZE (mode).to_constant () @@ -549,7 +549,7 @@ carry_backpropagate (unsigned HOST_WIDE_INT mask, enum rtx_code code, rtx x) count. The count is handled specially. */ case SS_ASHIFT: case US_ASHIFT: - if (CONSTANT_P (XEXP (x, 1)) + if (CONST_INT_P (XEXP (x, 1)) && UINTVAL (XEXP (x, 1)) < GET_MODE_BITSIZE (mode).to_constant ()) { return ((mmask & ~((unsigned HOST_WIDE_INT)mmask