| Message ID | 20250916223125.3938555-1-andrew.pinski@oss.qualcomm.com |
|---|---|
| State | Committed |
| Commit | 4b83df548f3f16c8c5bd83d82801f8219984e089 |
| Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 00C6C3858CB6 for <patchwork@sourceware.org>; Tue, 16 Sep 2025 22:33:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00C6C3858CB6 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=FaF69Mot X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by sourceware.org (Postfix) with ESMTPS id CEFA13858D26 for <gcc-patches@gcc.gnu.org>; Tue, 16 Sep 2025 22:31:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CEFA13858D26 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=oss.qualcomm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oss.qualcomm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CEFA13858D26 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1758061898; cv=none; b=CvssTQ1uoj9ekBk2BS4EpJ4RLYpw5KOgvuGEhxQlKI+aPZy3+O85baq7ktblpQjm1uPtCwoY4H+i5RAXBto66cb17nBdnVsLVunK6iLyp8JCcoFtOilLU28ycL40CNv0ucLleF8z/lJSMrnuHOtTg05SE+PKAnu5WK7F7wrh+ck= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1758061898; c=relaxed/simple; bh=H/NNFVlfpwzAkjJBepw6VPmUXG0TroyAY5cVY1T7zwU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=H/WiuCBkXWGB3mMlP+n9tkY7P3P7CifBt+IqsKKOtKOePio9GLq5ceLGvXAZg1uKHATisykhgXOBcRct9upWygtGYSNGUN3JjXk4OZPucBqWTz4bInoUA2c88L9mqAOXTGbCxYJx5n7Xahxxgp7J/vWnDfdTyBGSgV++XthUV/M= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CEFA13858D26 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58GLZlwd017820 for <gcc-patches@gcc.gnu.org>; Tue, 16 Sep 2025 22:31:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=YfpAsU4fH2/bgwq/vVze1uIBHA9A3+9v4Ns e2/3USUM=; b=FaF69MotmWMhAAeAd3MacaNcfCew03fN4sA3zSNmM5oTdStvlZI W4BlDY0nMfDlXyd+EXqy+ysJtgKT9GjII0oV9SPCDEgua7SkIhYkqoOPNpM5qh82 e4UdX6qRHvyUajZV/WWlGBo3Iamyt8g00vjxtqh4faRsXCEqFb6REy8mlJpZMmMm 6JVHt8/2sepY3763pj91jlkebCADOM7U7BpQOqGZGj2ELW4qQD2UTfmVZOvwS7ZU NoRznqWTLl4waq4BTQAcRN4F1zlB+fFUQ/5xk7+sePRZSOz+DDTacfzCk2yZConJ 5PxKBzDQ5gdG3pBPKfE/+yt9IiEzzcY824g== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 497fxt04vg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for <gcc-patches@gcc.gnu.org>; Tue, 16 Sep 2025 22:31:36 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-265e92cc3aeso30079265ad.3 for <gcc-patches@gcc.gnu.org>; Tue, 16 Sep 2025 15:31:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758061895; x=1758666695; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YfpAsU4fH2/bgwq/vVze1uIBHA9A3+9v4Nse2/3USUM=; b=uWfjhQVYZ6d5hAjSYl/aDCsRflYHqwK+VwlBm3G5vTE0bEVvMc7rc5jOM9V5to91wg yhkb57C/dY8bnSwS1m5WuTn0/3m/6JzYc+8LrOwrK6MUjn//NbQCZ5D3EP1EeOM01joU SvTvn7tX+Th/afx3NwAS1bXrWaAc9H+fZqDNI97X2+W++m9x6zCnwIWpcJ4DUNL1A7y0 iI+I24eRXxuDxMsaE34apE1RCjxhkKQYicZ0KrOzESCGemhfuvLr9cA3f0oJq3+sv0zR ngCEfsAvNNsi6O1IIoKvDlQdM1WTI3MBwd7Wmy46aBh2h/gtMUJ6P8bIwKpNK2NxqFTm GuAw== X-Gm-Message-State: AOJu0Yw3KaEQoVZAGnUSlfopsO30n2LAOwcBNamuMuvR84UTHbZSoodx 1bzxVPOkjC6Bh81f3mKLHZs5qII67ViQKl70qxekeOouF1WbyvncV2lA7LN1HfLs3lHlo1e69Xe dgqcSpXT++nl4dzbbPtnAYQbFvVFUtJh3xSfeTJ7Y6rjRYO/+YcoPN4Yq6Bfeg65GkoGe X-Gm-Gg: ASbGncsKxdReIom1JU/eqLjp5sa0PFKzQKD3Ji4Jy28cxCccnJDfp6m+PHOGSWiNJol YzZwH7TIF839XxA85c0DUtGN6B/a5rvyCzBc5nkE3FAUUy2A5Uktyn8+Nr/uYvCXtOlPtqL5j8a S/u3h5l8Urilrl7k+b1UcEC8cjU2QYXI90TZhV4ET9pLK0QbgsEeA7fgUtS3Rm7Tdg78g/UuNLV nu7vPECZFWt4Z89QO7VGp8cjrFDmN06Wnu8bR3Mtd98wd6eiskotBeijHXxh+BIWXqChMTp6Wk/ lYbUYEnw66UwKXnSFYgBSaTE17tEwlV+oBjAZ0O9DxBFJfiFKB1uLfMSfbp7B/vruDE= X-Received: by 2002:a17:902:e80f:b0:24b:11c8:2d05 with SMTP id d9443c01a7336-25d276230e7mr236577285ad.45.1758061895534; Tue, 16 Sep 2025 15:31:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQZJdUvCEF4IytJBdjeqny3Y5n0+Kr/R88b+zS8ta6S6O5v4238pMqxcPzV/3xwstPSxsbnw== X-Received: by 2002:a17:902:e80f:b0:24b:11c8:2d05 with SMTP id d9443c01a7336-25d276230e7mr236577035ad.45.1758061895056; Tue, 16 Sep 2025 15:31:35 -0700 (PDT) Received: from xeond2.wrightpinski.org ([98.97.43.202]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-25d9c3feca6sm139488355ad.95.2025.09.16.15.31.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 15:31:34 -0700 (PDT) From: Andrew Pinski <andrew.pinski@oss.qualcomm.com> To: gcc-patches@gcc.gnu.org Cc: Andrew Pinski <andrew.pinski@oss.qualcomm.com> Subject: [PATCH 1/2] forwprop: Add a quick out for new_src_based_on_copy when both are decls Date: Tue, 16 Sep 2025 15:31:24 -0700 Message-ID: <20250916223125.3938555-1-andrew.pinski@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: dwj2pdfLeuNXU82TRhZctQYRD8O2SxJb X-Authority-Analysis: v=2.4 cv=bIMWIO+Z c=1 sm=1 tr=0 ts=68c9e548 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=vt1orro8+gjQ+DRoXK0hhA==:17 a=MePL-eu3ktZYvNI1:21 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=7SRvlze40dl_ZNzFPRwA:9 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTE2MDIwMiBTYWx0ZWRfX3NCAnFWbIYZE +tNyiiUtIi3JVvVe1/8idvhd84a98dHb56k1jPNOR8fPMFhiqTjjnoQcxuHhBv+TaXJ0HvSSg7j i1gRS+KM+kq9tM/qtKtJrrlMKAw/jWZou03rXPhg4zGsvMqTjvUCJREciuvJg0BoFRzEVJw9Qxy P0Ze6jT4ZSVFQmFHdgquKS+uF0ZkI9j69KcLlwfWXL3u469Sec9lHiqyOOgjbn91VycJ2RWnbl6 pKeNJL55eWjaeJmDAzQX7LduXo7XQzEQw7a0wgVSFnX9BBOGqilCFZRMnusQ6quRqtsO2jPrOQL COiJ0UkNjUjQzeH5IPRZvqMmkcs5tyLIWINQus6fyMRmdZCpZ18c0V7PFxt+iBsOSQM7lbrvInx 8vUgSk4O X-Proofpoint-ORIG-GUID: dwj2pdfLeuNXU82TRhZctQYRD8O2SxJb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-16_02,2025-09-16_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 priorityscore=1501 suspectscore=0 spamscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509160202 X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, 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 <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
| Series |
[1/2] forwprop: Add a quick out for new_src_based_on_copy when both are decls
|
|
Commit Message
Andrew Pinski
Sept. 16, 2025, 10:31 p.m. UTC
If both operands that are being compared are decls, operand_equal_p will already
handle that case so an early out can be done here.
Bootstrapped and tested on x86_64-linux-gnu.
gcc/ChangeLog:
* tree-ssa-forwprop.cc (new_src_based_on_copy): An early out
if both are decls.
Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
---
gcc/tree-ssa-forwprop.cc | 4 ++++
1 file changed, 4 insertions(+)
Comments
On Wed, Sep 17, 2025 at 12:33 AM Andrew Pinski <andrew.pinski@oss.qualcomm.com> wrote: > > If both operands that are being compared are decls, operand_equal_p will already > handle that case so an early out can be done here. > > Bootstrapped and tested on x86_64-linux-gnu. OK. > gcc/ChangeLog: > > * tree-ssa-forwprop.cc (new_src_based_on_copy): An early out > if both are decls. > > Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com> > --- > gcc/tree-ssa-forwprop.cc | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc > index f58a7b8c591..9d389e1b9bf 100644 > --- a/gcc/tree-ssa-forwprop.cc > +++ b/gcc/tree-ssa-forwprop.cc > @@ -1473,6 +1473,10 @@ new_src_based_on_copy (tree src2, tree dest, tree src) > where one field is the same size as the whole struct. */ > if (operand_equal_p (dest, src2)) > return src; > + /* if both dest and src2 are decls, then we know these 2 > + accesses can't be the same. */ > + if (DECL_P (dest) && DECL_P (src2)) > + return NULL_TREE; > /* A VCE can't be used with imag/real or BFR so reject them early. */ > if (TREE_CODE (src) == IMAGPART_EXPR > || TREE_CODE (src) == REALPART_EXPR > -- > 2.43.0 >
diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc index f58a7b8c591..9d389e1b9bf 100644 --- a/gcc/tree-ssa-forwprop.cc +++ b/gcc/tree-ssa-forwprop.cc @@ -1473,6 +1473,10 @@ new_src_based_on_copy (tree src2, tree dest, tree src) where one field is the same size as the whole struct. */ if (operand_equal_p (dest, src2)) return src; + /* if both dest and src2 are decls, then we know these 2 + accesses can't be the same. */ + if (DECL_P (dest) && DECL_P (src2)) + return NULL_TREE; /* A VCE can't be used with imag/real or BFR so reject them early. */ if (TREE_CODE (src) == IMAGPART_EXPR || TREE_CODE (src) == REALPART_EXPR