From patchwork Fri Mar 11 16:30:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qing Zhao X-Patchwork-Id: 51896 Return-Path: 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 4B3B63857820 for ; Fri, 11 Mar 2022 16:30:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4B3B63857820 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1647016253; bh=iTOOvf8Dav58xyPGQeZ7+ecEd1y0axEMhsUhAGvM1k4=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=VoIeQ0mcAzNAVjNAmRA05nH1alBUV0DgCx7O4PJqiIPyOfA3Sz+IyTDBrbpILop7u wP1qbhICNEV51+MN1eGn/qVywwXkb5NR3qStUvRw0SzXf9oVFFBIi1NYJSr3Fuz0c0 M4Y2d1+9716lLDmPd66w7b00dBv98UqgYf5VsvFo= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id C3ECD3858D3C for ; Fri, 11 Mar 2022 16:30:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C3ECD3858D3C Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 22BFxG0M013659; Fri, 11 Mar 2022 16:30:11 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3ekx9cs25f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Mar 2022 16:30:11 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 22BGBlTS102960; Fri, 11 Mar 2022 16:30:10 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2103.outbound.protection.outlook.com [104.47.70.103]) by aserp3030.oracle.com with ESMTP id 3ekwwe6f6u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Mar 2022 16:30:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rz49/8ncm0OHqSxShys/nxqMyf3u+1ReA5iWUM3vlq5uyxGvtWLX2otUt2PR+Z+Jbm3Xtn1/21xup6SqioyL4vOHodYglwal26kQvMzhFg8CCARO9xb2A8rIkYnVeRnSa6DjqhCwoxsBtS7rL3bk6vfgG0618pg283s0vXfD1oEY5zsnNX2rvefRnIC/RdbVyPJ1/DqX5UBhKjOt+k1w7ZQq75EghJ3DaAU/tLYY4WxGfdmleDLcpUfPpZQ6ivBWd4s7tjDRVEuZLCv9WDZSwIE2CfmROSWDvyEDrwRonpXBwTSqyVAGSuSiolFrdyPsD3JMH78Qun1uJ5hG/dTR9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iTOOvf8Dav58xyPGQeZ7+ecEd1y0axEMhsUhAGvM1k4=; b=SvJIgAyp0N6lg6T3wa7koktcRt/i3MtyuyJQK3gpG2xwr6sDtqAABf/PQM0rwEsbocrCxe5MS+0pamahkK8/IMv6nRSf56f2vq8A6+S7GGPYSZR82e/61B5pGHWBZduPPYZ5FbQQrTevL+jAUzUlLarKftM41kcoCi8JA/JSAFvQymj8uf/Q7XZY9mLkaloZGdnCkrRh3Oo6ggaO7fyyOfFsBLCebFolGq6nlx5AbS/wu0z/cqQdRcTSFGF4H96SSd8eFf8S5Mk3JL5Eve5AFXW5n/62dGMoZdWpqhsHojE3732q84EDnIVww83r9wVNZ/xRO73IWU0PcLyyIz1oaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by MW5PR10MB5690.namprd10.prod.outlook.com (2603:10b6:303:19b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.25; Fri, 11 Mar 2022 16:30:07 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::a8c6:8b2:c197:7489]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::a8c6:8b2:c197:7489%6]) with mapi id 15.20.5061.024; Fri, 11 Mar 2022 16:30:07 +0000 To: richard Sandiford Subject: [PATCH][Middle-end][Backport to GCC11][PR100775]Updating the reg use in exit block for -fzero-call-used-regs Thread-Topic: [PATCH][Middle-end][Backport to GCC11][PR100775]Updating the reg use in exit block for -fzero-call-used-regs Thread-Index: AQHYNWVFR6AyOVbabEOYU0MSnKEIbw== Date: Fri, 11 Mar 2022 16:30:07 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 589e0f64-866a-4d54-616c-08da037c67bc x-ms-traffictypediagnostic: MW5PR10MB5690:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZaI+l3Tjwi+QZPjY7NKXrFlFh5uRuNMeXedUhze+2GZZNCiT1kXWabhfPwy/5wi2fL/7kvv9i6zewyUKP3Mfvkp7nFIX+vtOgemOBOiX3cMTdYbKXAn631Mry95In0dUAHhmCIzzzxUHYaWKMfdSsTOB4RzcX4f3HFvBdMMaWr6ZU8PIwPjvJzv0++gGVgOJE9chVTwAYiyLKiwhW4xe7XlG2aUb0VYbMR0kfpNh0l0W8YkKvr060ZdCtpJpmvnuKgXSO95gPnbv0ZAhs0v3arIK5rfeys6QnRjrEIDe9wA0qRDlYtjT/GWLZuvaSY1vfUiw9borQ4Rs5tedciBTBUPvslNmAgT0RFTN5jko/IYfqOhwHRtSHVArSox0Kk0yoLRWcls+LnInClMD3X5hv4UehqGoh4n4vJN2ouuid82+NN/Sx00oMjBG4IYEyhp2OqOeSiyGXxZaHkLuF/8zWzggMlJCtmNvPCJYTMD4Z8dcZnGaHBpwuqDC2LrcYwEX6aOctfSI2K2tPc4kTqPehlMBatL+WNsgBpbrXF4wRL5PK0uIJFfT2MogN5xT6e0L/z+1d5kCzvMmR4dsBSv9LC34NmisSacCAX3lZ9hMvL5cwS0RUW0cBOkBPekhNB0FKOFdT1dBZ2d17pTnX7NuDaXY79/z4RQNC/Gu/yQjhFWFwGuaEvyyilWQeT+mFD8uHaBbGPoJ9y47BVlqhwxNt0D9T7eF2NivT8gTSvYrFsWEAS/WfDZibjN3ywlx38cEqTxf5Cvsjd7bIjhglZjE30xHugUczKhT/7ETTWFFJXI5EdTf/kDbYlzVBhvIGxSWaG+tqyeQM46OGyi0jERg1db3c4CrI7WACeHOZJuvhfs= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(8936002)(6916009)(6512007)(38100700002)(83380400001)(122000001)(71200400001)(84970400001)(6506007)(53546011)(6486002)(86362001)(966005)(66946007)(8676002)(186003)(26005)(66556008)(66476007)(316002)(64756008)(66446008)(2616005)(38070700005)(36756003)(508600001)(91956017)(4326008)(76116006)(44832011)(5660300002)(33656002)(2906002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 6SCY5uc/cnQrciZHwAJjQLOtx4MiwhVIBnNU3aWcGk02T2Il/v/38Rph/sb07PjInRqLeIt14LCcsAN5gdkjgkz1vYsiypx1TmfAumEdq3Bwb2LytIy2e2m0AwK2zkfLxALPIJJR0YJcB7sXgTisZv4DbrcaqIOwRKB7Kr8Oc6OXdgdWdXS+WWe0mgH73BY8JD86nfczEWSDPY89FDfQrEBCN37j5KqzvSX5pYXDgaNeFJ7LsUMg8nCMEVeO9uY/lbfqAafPutniMhLYBgMf+SGTFaRFrDveEHUB4krsZT8M13SfaJZwYw0bWNer6HAPXBULesNH1VwulnpnTkA0COJBQzuDxvwpkRNPVXAAJGDFdxCJPc+UD97WxAmC/v72EJnJUpBKqIt0JZglTZqVS8zPo3dlSCDKDXNdeeZ1+ab8jiAXf83AVzaEagrNo8mbOOK3H1jvQzflRdeNHm6M0e6SXvel5qvHNMcjDOMnnKi/DkgA7C38uI2W/mDvJR+cvICvww/BUbuRlWqyWANllQkGN26ZC0I2025XaQyobH93b/NHpvnnkKOX02YTdGthbUJqkzGnBSX7lZ3bjwr9QvAk9X/KSNV48ds5Ky8njuSfoLqGwWWTUEqUS62cnWsYBkUUJNZjHrn0rhmr1I/8iI/GKjQEDj0CBBEpFxEox7HvWrN2gQ+2nHChtRtpTFA9qLxlILLjF3OZcu8D2EjGvbpaUKsyjf0HI+4R76R7K0xjWyJsV2WYfAZyRR83gLiQKeb83WDgnhtSqSnG0JT4ML4wIZqRyhPzgmr77uCnF9pLuvw1nSEuVyc4zQ5uRnaDzjzjUF6jgJreYYthm8mMOYX1gI/YjIBiPipHKW+hbszSp+6PT39QHYPh9YvyCC+0pcGgRrviw4lJG+EmrKjjjnDAkyEWS+K1673qSm6gdnSk99M83Wog3sNJq4rhUyNZIYL2WdjmysoD8d3cKxNr4rO/MtsQiMtcOrMsie7ybkOfJPSsGN/IntLOIJu44YxKK1Row8ep/jTxvxx3s7rR+G2B8Ye+Ddar28P09HyHPZtbtqTZFOWkipoC8tEEh14OROAw1RNEcYRLz6kopQPEi9Ugk4VLHtpCeSD5R62xlVPnH2nR3OiyhH7PL9hDoFr+v36pkshPd3hQtNv7gJJoScRTtfJtM0ejwiqYR+Y06GGfqccrVUhdKDZ2RdoTgB7vxlGjVfitmu9FRGOKJdfy221e96yqNAd8VgOPumWihbwBa1gccMlb72fSt/ZKBWTgK4PhfqE++IXkwpGGpYYZW9+Tydg3BsMIVhDMg4v2TgK0TC5Nu2VT5qJuOkWK57vjpaSHQPEV7PiVEWH1wf4wKil+0tHlR7HPu9lQUvpxhNq4WFWlW7DDIoIXLJLvjOYUMg8N7PUJJ4TDapMFslgMOb+3LkhPriKhP8QHy3zgjFSLJfaeAo2ksZEr8UUEy0vmcQUWre+Gy37+camukPJPJgNzRWXEhMNY4bpNIyMZOgtKPENwQy4zrc6WA/6/GjRkuZDkXV0Lkpvh+4Dvc2X1kutTUH5ELmaT+BvJC0w5cuXMcPwdt9IGp/RoHGPp3hzm2DQy6coGZRTwjrXZ3NkSIw9jCRTSK7nCiLIUib5R0rE= Content-ID: <37FE71EDDF8E5140AA386E7DD1C48B83@namprd10.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 589e0f64-866a-4d54-616c-08da037c67bc X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2022 16:30:07.6792 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: a9AXpM+J2Sd+kHwaEdn/L8X9wPBNOZBY/8LtS3/VhIIIX7fFDw/K9qDbgy+5yKu34TCCyHHCJH1ifaeA7kRMLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR10MB5690 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10282 signatures=692556 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2203110081 X-Proofpoint-ORIG-GUID: Xq3JZlEeXJdZyamI273rRspSSI0fKVDF X-Proofpoint-GUID: Xq3JZlEeXJdZyamI273rRspSSI0fKVDF X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Qing Zhao via Gcc-patches From: Qing Zhao Reply-To: Qing Zhao Cc: gcc-patches Paul A Clarke via Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi, I plan to backport the patch to fix PR100775: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100775 To gcc11 since this is a general bug to -fzero-call-used-regs. And should be fixed in gcc11 as well. I have tested the patch with gcc11 release branch on both x86 and aarch64, no regression. Okay for commit? thanks. Qing. ================================================== From 737a0ccccb0824111f46da44c5578b9769070c52 Mon Sep 17 00:00:00 2001 From: Qing Zhao Date: Thu, 10 Mar 2022 23:22:29 +0000 Subject: [PATCH] middle-end: updating the reg use in exit block for -fzero-call-used-regs [PR100775] GCC11 backport. In the pass_zero_call_used_regs, when updating dataflow info after adding the register zeroing sequence in the epilogue of the function, we should call "df_update_exit_block_uses" to update the register use information in the exit block to include all the registers that have been zeroed. gcc/ChangeLog: PR middle-end/100775 * function.c (gen_call_used_regs_seq): Call df_update_exit_block_uses when updating df. gcc/testsuite/ChangeLog: PR middle-end/100775 * gcc.target/arm/pr100775.c: New test. --- gcc/function.c | 2 +- gcc/testsuite/gcc.target/arm/pr100775.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/arm/pr100775.c diff --git a/gcc/function.c b/gcc/function.c index fc7b147b5f1..0495e9f1b81 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5922,7 +5922,7 @@ gen_call_used_regs_seq (rtx_insn *ret, unsigned int zero_regs_type) /* Update the data flow information. */ crtl->must_be_zero_on_return |= zeroed_hardregs; - df_set_bb_dirty (EXIT_BLOCK_PTR_FOR_FN (cfun)); + df_update_exit_block_uses (); } } diff --git a/gcc/testsuite/gcc.target/arm/pr100775.c b/gcc/testsuite/gcc.target/arm/pr100775.c new file mode 100644 index 00000000000..c648cd5e8f7 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr100775.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */ +/* { dg-options "-mthumb -fzero-call-used-regs=used" } */ + +int +foo (int x) +{ + return x; +}