| Message ID | 5980B89D-C6F9-438C-B1D6-89DE4966096A@nvidia.com |
|---|---|
| State | Committed |
| 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 vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 17D634BA5439 for <patchwork@sourceware.org>; Wed, 6 May 2026 10:14:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 17D634BA5439 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=kxOlK6lb X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazlp170120007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c101::7]) by sourceware.org (Postfix) with ESMTPS id B367D4BA23FA for <gcc-patches@gcc.gnu.org>; Wed, 6 May 2026 10:13:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B367D4BA23FA Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nvidia.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B367D4BA23FA Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c101::7 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778062399; cv=pass; b=pQKQTzG/W/Za0LUbFh2VpA6EHmMc6RGo97XUxM0E0STxnUIOHDUT1zKMVYUbBHWgntcjSPVW2/9nEI7dMnytyDTLIUNUc7WqAbAB8WfbPgO3Baa2e0q+l4dn9lbIVLIGELJgo/ExpIUstmgipJ3aMD33rqF8/DUyFDq6dKrNVrk= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778062399; c=relaxed/simple; bh=tSoNeSp1GBBtuhvjlMq0opdVyFxvmjefCD481B2gk0k=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Lapis5By9NOJQTbwHXMmtPUjOvb7cAylAwYDs6THfNdr1a1b71N7Ss7mqaOtQ1OthRg2RbbyfaczT23CTx+IlF4QySew1uNdu/Jn8s9KmmO7J6UQwDR+nUVXxkutw+z6GusVwBrgpgjjfOyGk994K34TrUpdHaNlxQwqUiwSzHU= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=kxOlK6lb DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B367D4BA23FA ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p8++wSV2lo077YZjgKtAeNd//i7hhXQpzkBwl/JtfaCUfEEBtVGzWK/L9bbXvUh7zi768gP0wlF58MxxbpqtgBXrmqFP1VpFrnuRhr59XtZmr5bODgimNJTTdWim5Wi4/WTf97qiM/ya5a9gYSNLOFi0apXFBmospuS7NAANY3XFJMZjI6MsQLZA1wMvOJOR7Fok+NslMBPqdnxTi1xJrryu5i4FwU4Tp0xpWXF16KfMqSUir55kSRBK/KCAvQbqjBaTikDuEnS68YkNKi73lQZAhG1uN5qtHc4hdb6927T/I6r/bkClZanQmrwKB/vK+c7iFEFeVn8N/zrAtSl6iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=trKD6Wfd4mVX4oem5ZAqbBkb2Bv884/KMnfLX3JEi7Q=; b=QGxKPv6524dO3wNojyjeBBhfc/N89yr1B8326pbSEh8Gc1JYvaJj2nzrTyuqWeMn6x658EI5g5V1ty45glRJ9s51P7WBxq+pgG1lDn4SqOPFK+U1TtqYz9ufTdREIRVQOZ5BClhWEDJ1MxwJrPP0JdQggre4DDXB/XuhmHChIMtmnI9E83Qvu6KNuterGQUev4NWWIxOYh9/lp9u8kY4x/ut2Iy0lpmNN6v9yejTK/La8m7BNv3+B57VLuqV80yDb6g8jk/VobXGena8Q66RexT9590YXW5DTMb4KCIax0mkISRlxceUSlULR7M9Z2sO86qiFPozBhItNcLi20VwQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=trKD6Wfd4mVX4oem5ZAqbBkb2Bv884/KMnfLX3JEi7Q=; b=kxOlK6lbgl/kUXYeNXaSabqp8aVlbJXhQe9A1p95RY+eYxvgfud9dgZfIui5XlnvY56nPK3xu/gZrz5MP/v+fTqM9qhXPPzDlpUy5NC8o+LWrpcEzelP0qYXx3Riv5g3y2G2xTjZxPhWTMvoOuwjSt0LRNzHnPIq24CJulps9LzI5o6OyLKly6nz/mmxMFSn9r+ueWCyrls4EiRBiZEwvowyiy+9aIqhB6zSju6C/Whfjs+jawPeoSko/l3zHquIRGraQ3r8/nmREo1AWaDgQzy8/YaEipMT/n47qasFfmbFil8bKoZ6YDEl9xelmyYIMs3n6USZXF4q/TWZOZ/V+Q== Received: from IA1PR12MB9531.namprd12.prod.outlook.com (2603:10b6:208:596::8) by SAWPR12MB999118.namprd12.prod.outlook.com (2603:10b6:806:4e2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Wed, 6 May 2026 10:13:16 +0000 Received: from IA1PR12MB9531.namprd12.prod.outlook.com ([fe80::8114:7de2:a8f7:db8f]) by IA1PR12MB9531.namprd12.prod.outlook.com ([fe80::8114:7de2:a8f7:db8f%3]) with mapi id 15.20.9870.023; Wed, 6 May 2026 10:13:16 +0000 From: Soumya AR <soumyaa@nvidia.com> To: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org> CC: Alex Coplan <alex.coplan@arm.com>, Kyrylo Tkachov <ktkachov@nvidia.com>, Tamar Christina <Tamar.Christina@arm.com> Subject: [PATCH] aarch64: Move pass_narrow_gp_writes above pass_free_cfg [PR124895] Thread-Topic: [PATCH] aarch64: Move pass_narrow_gp_writes above pass_free_cfg [PR124895] Thread-Index: AQHc3UD0WK6OcmWiHEiOABmjrAf7EQ== Date: Wed, 6 May 2026 10:13:16 +0000 Message-ID: <5980B89D-C6F9-438C-B1D6-89DE4966096A@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA1PR12MB9531:EE_|SAWPR12MB999118:EE_ x-ms-office365-filtering-correlation-id: 75caede7-8cce-442a-80ed-08deab5816e9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700021|56012099003|18002099003; x-microsoft-antispam-message-info: 6OuKHak34CU3TQ7swrUgOYIO9rOudxEAxRRYcBFhiIQN4Jy4PiJvjwxL8zxMcOuF3Qr+nGwI/aiqVHz8rdj7Wc1Lc4jdSn10eW7kSfMPtbImAX1uZG8mV1khfdBCVq06S6WqxJzMnw+cnY3A1nZrvCJHr2F78fICUGsCju7DSoE2ZzHgQD5tN9SDeizwne3e/x6HcH3yY9uEUPWm4tlfHJBITtY7GcILSg2O+RYDsItnX15TgwhuxqnH/IxGqXaaphyLTKqltAtgB5oCP4DKgvcqjpocXvyRwrz/S9p6K0pVVSVGqWzb7FIZCzOplEdC39eXZTejV2Btmd+iGaLBFVyBUcT+FRfeaBqv0FfeYcCFrykMN6zTH5dI3U3UFDk4DDOdvrcsTKmiRxACiVQTJM8D4n0RN6OFdCT7kvXLPcRqhs1LBAR2aDwshiNaTKOWFUpixCexTpvV4IkU89FLirTtBduLZ//4+3pImvKXQINOodFcN5cHpW66XSYc0lRsx6f8OBURjMeHI5sBo6eFhPpnggZPJQWvVTkClXZwq2SMMDV1Jmaa9B28247GA1VMwJOQr0pEyRqZHYR/QUla7h6BlrjM91qx72qXW0P0/hdH40M8MuuwmvwYEL9uIjQvD0pL/ZKdR/dK6BTGHI7haHGp9MU/kJM21amWFCX5RZpURiZqw5jnqKXPqRleL0W41xacwTOy8td5modnLQsRJwLexUyEB788xmIgGfiHKK7weeGcMN87J8iiMytbxSn5 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR12MB9531.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700021)(56012099003)(18002099003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: gwNF6irWlO8AbHDabSRK7MywTdTSxQHHeWzASgrlbqlyhLGtQowLzKc2xpZ2HIf1T6R7Oh7uucHo/M88F2nV/lPUapoRNYpS076S1AyVjreM/djKQfUwij91ywWp2+6FqPj3FrbGSsdaWsPkGIraCnoddoMMjiPDTe7C5c/MBQwKXrs25whAerPiEiWtvhcEvr1OzbO1NLQvLTYKA4YFurmv8A1XHvWCy2qOW4+yCT8RvxPAOi+D+loqitpYD8zB3b382o2/FRCdguyVt6nP4Scu5gh9w5+QKWqqlx/XwM7Dznj0ALn24gId5mVp/hzzU22NRFHJUNGqBFbMzZmtCfugDhWQTq2KaNqBAU2gRh/o0PbHNn6RImfvNMiFKgVGHVx2Ikr4YIljkdqnJ7FbLHgv2851R5SkAPf8HcqK9ZBd1l7+usKhkZWdtcM4CfAsxTU4fWOhePjV9lHaYR/uwmwU3ygE271k9tvVEegmuh+7KVpoTyXVfyyDYuTjSUxehQ7esGmWvOZ81ZUmyaNt1YkOmo5WdvvjVke7mu8PQoMY3qLJHxTr0Kj8HgwFLgQac7vOJ25EiOg/+55eB5LmfrFczjf1XXoOfKav+xcmnCHzPO71jZoBp521rdnWXdf3arH2FFcS5W3BltILZlKOBE6WHMf8ofvEIDvbHWEHngGkXUKBX6KI1YH1WB4RNkSVxZoPKDhSQACgayZoABAbMRVvrs3RG3GiriOuoj5hqms69VJmLKo5pJBitdE1oDZoV/K+NqglczsRJEbeBM29BvFqXFyvJUvWo+Ut3eOTie/Z1r+hgQaYxwZEOVuQxM5zLfAKMYuWoELT1aryRsQijE3dJhEnA32D35AobHw+TJogNfIO7gj72GepyOVJwS0ljnoqPyuy949vD1k9+5Eag8BOaiF7e+yXk9s9Yq6qk+lcbBVaaM3CXaaIYgp9Qb9K0B0LcoBAsUbhEm4ahtBpALEAqAOYusOPL3JXhTqFCOniBT0zZIU1GdFkXy4ZASW4Sti9cpjZLDi0KPB6bPb3PzGr2Rb1KHXo5voaneZqKNhF4stz8lDaee8T3VoLRzPthQLF/JXJUPkVSP6LVL+HymsVkjcRdBvNv80QyBhmlMlVEo9JWB6ibD9ckZDsmmrsjdPwzHIBleMwnXsv68Ju1UNXLg7Xy8kAYNiZdAq0X19uBRW4tXRMqjEGNbgeKtWOdU/Lo7SJZgEEp9wwTyDuEYBYwT4OgsSSoBzVanMcqTB1+fXnyy+9RgqbkL/+cmMgXCi95hw/sw9pfyRjVHymlOU+WYaDIXADZZMlI1PPiYcEiw1x+zjf8U0cfsAedG0TJ8qELTZVDaF2YHLEDgNFlpQ4KlRI9F4JmGaGzzetrza9cx0AxeCIYj1ArTfFmEk95jlMZ53BQ/3oYXAb2OEiOH6fDhuzsFdWK+57MJifqjclp0K7Sl4PjE2N7Yj3qiZ9R6H/D2SOVxqv0lZ7tm47OHZ9GCjVa0mf7agVvy4IPW4XqX6piHY9kFvX57OBYuyfsADHfi/3XdP8v/YPNe0Vy8002CDUHxmzNnPK+o6Yixs40J7tPFD0ZVSQgBFWDfdULHIA+00dD1uGXBLSKifKg17QL2WPiXURzdzCArH8DBtATlMh0sd1TDTqguv6ASizFO7uP/LdyIYaauwPBD65IcuFVlKHUNyVw9BDXf3xhSx33jCKK1+xTxY1W5Hr1adytOkZbIJstQ9rK96R9Uk2yQ== Content-Type: text/plain; charset="us-ascii" Content-ID: <D1395CCE582D2C48A60C1EB969AFAFB3@namprd12.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB9531.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75caede7-8cce-442a-80ed-08deab5816e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 May 2026 10:13:16.2993 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LHsnxGW8kQWc3UXBkOPLsw3eUEdhgC0rggM3k/aU5YzjTdrvbX9PM6BnTF1SxwjH6ohDU1BzIUk6ihTw392g3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SAWPR12MB999118 X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, LOCAL_AUTHENTICATION_FAIL_SPF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on 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 |
aarch64: Move pass_narrow_gp_writes above pass_free_cfg [PR124895]
|
|
Commit Message
Soumya AR
May 6, 2026, 10:13 a.m. UTC
The narrow_gp_writes pass uses RTL-SSA and updates DF state via
df_insn_rescan / df_insn_delete. Both routines look up the insn's bb via
BLOCK_FOR_INSN to mark it dirty after a change, but pass_free_cfg has already
cleared those per-insn pointers by the time narrow_gp_writes runs. When
BLOCK_FOR_INSN returns NULL, the dirty-marking step is silently skipped,
leaving the DF stale.
Move the pass to run before pass_free_cfg.
Bootstrapped and regtested on aarch64-linux-gnu.
SPEC CPU 2017 shows no codegen differences (compared to previous placement).
OK for trunk?
Signed-off-by: Soumya AR <soumyaa@nvidia.com>
PR target/124895
gcc/ChangeLog:
* config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Move pass
before pass_free_cfg.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/narrow-gp-writes-8.c: New test.
---
gcc/config/aarch64/aarch64-passes.def | 2 +-
gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c
Comments
On 06/05/2026 10:13, Soumya AR wrote: > The narrow_gp_writes pass uses RTL-SSA and updates DF state via > df_insn_rescan / df_insn_delete. Both routines look up the insn's bb via > BLOCK_FOR_INSN to mark it dirty after a change, but pass_free_cfg has already > cleared those per-insn pointers by the time narrow_gp_writes runs. When > BLOCK_FOR_INSN returns NULL, the dirty-marking step is silently skipped, > leaving the DF stale. > > Move the pass to run before pass_free_cfg. > > Bootstrapped and regtested on aarch64-linux-gnu. > SPEC CPU 2017 shows no codegen differences (compared to previous placement). > OK for trunk? > > Signed-off-by: Soumya AR <soumyaa@nvidia.com> > > PR target/124895 > > gcc/ChangeLog: > > * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Move pass I think the text in parens here should be pass_narrow_gp_writes. LGTM with that change, but please give others 24 hours to comment. Thanks, Alex > before pass_free_cfg. > > gcc/testsuite/ChangeLog: > > * gcc.target/aarch64/narrow-gp-writes-8.c: New test. > --- > gcc/config/aarch64/aarch64-passes.def | 2 +- > gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c | 10 ++++++++++ > 2 files changed, 11 insertions(+), 1 deletion(-) > create mode 100644 gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c > > diff --git a/gcc/config/aarch64/aarch64-passes.def b/gcc/config/aarch64/aarch64-passes.def > index f4307aab551..2df7459af92 100644 > --- a/gcc/config/aarch64/aarch64-passes.def > +++ b/gcc/config/aarch64/aarch64-passes.def > @@ -26,4 +26,4 @@ INSERT_PASS_BEFORE (pass_late_thread_prologue_and_epilogue, 1, pass_late_track_s > INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_bti); > INSERT_PASS_BEFORE (pass_early_remat, 1, pass_ldp_fusion); > INSERT_PASS_BEFORE (pass_peephole2, 1, pass_ldp_fusion); > -INSERT_PASS_BEFORE (pass_cleanup_barriers, 1, pass_narrow_gp_writes); > +INSERT_PASS_BEFORE (pass_free_cfg, 1, pass_narrow_gp_writes); > diff --git a/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c b/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c > new file mode 100644 > index 00000000000..94ef761e801 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c > @@ -0,0 +1,10 @@ > +/* PR target/124895 */ > +/* { dg-do compile } */ > +/* { dg-options "-Os -fpath-coverage -fno-tree-ccp -fprofile-generate -mnarrow-gp-writes" } */ > + > +void > +foo (unsigned u) > +{ > + while (u) > + ; > +} > -- > 2.43.0
Committed: cefcc09723c Thanks! > On 6 May 2026, at 6:26 PM, Alex Coplan <alex.coplan@arm.com> wrote: > > External email: Use caution opening links or attachments > > > On 06/05/2026 10:13, Soumya AR wrote: >> The narrow_gp_writes pass uses RTL-SSA and updates DF state via >> df_insn_rescan / df_insn_delete. Both routines look up the insn's bb via >> BLOCK_FOR_INSN to mark it dirty after a change, but pass_free_cfg has already >> cleared those per-insn pointers by the time narrow_gp_writes runs. When >> BLOCK_FOR_INSN returns NULL, the dirty-marking step is silently skipped, >> leaving the DF stale. >> >> Move the pass to run before pass_free_cfg. >> >> Bootstrapped and regtested on aarch64-linux-gnu. >> SPEC CPU 2017 shows no codegen differences (compared to previous placement). >> OK for trunk? >> >> Signed-off-by: Soumya AR <soumyaa@nvidia.com> >> >> PR target/124895 >> >> gcc/ChangeLog: >> >> * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Move pass > > I think the text in parens here should be pass_narrow_gp_writes. > > LGTM with that change, but please give others 24 hours to comment. > > Thanks, > Alex > >> before pass_free_cfg. >> >> gcc/testsuite/ChangeLog: >> >> * gcc.target/aarch64/narrow-gp-writes-8.c: New test. >> --- >> gcc/config/aarch64/aarch64-passes.def | 2 +- >> gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c | 10 ++++++++++ >> 2 files changed, 11 insertions(+), 1 deletion(-) >> create mode 100644 gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c >> >> diff --git a/gcc/config/aarch64/aarch64-passes.def b/gcc/config/aarch64/aarch64-passes.def >> index f4307aab551..2df7459af92 100644 >> --- a/gcc/config/aarch64/aarch64-passes.def >> +++ b/gcc/config/aarch64/aarch64-passes.def >> @@ -26,4 +26,4 @@ INSERT_PASS_BEFORE (pass_late_thread_prologue_and_epilogue, 1, pass_late_track_s >> INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_bti); >> INSERT_PASS_BEFORE (pass_early_remat, 1, pass_ldp_fusion); >> INSERT_PASS_BEFORE (pass_peephole2, 1, pass_ldp_fusion); >> -INSERT_PASS_BEFORE (pass_cleanup_barriers, 1, pass_narrow_gp_writes); >> +INSERT_PASS_BEFORE (pass_free_cfg, 1, pass_narrow_gp_writes); >> diff --git a/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c b/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c >> new file mode 100644 >> index 00000000000..94ef761e801 >> --- /dev/null >> +++ b/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c >> @@ -0,0 +1,10 @@ >> +/* PR target/124895 */ >> +/* { dg-do compile } */ >> +/* { dg-options "-Os -fpath-coverage -fno-tree-ccp -fprofile-generate -mnarrow-gp-writes" } */ >> + >> +void >> +foo (unsigned u) >> +{ >> + while (u) >> + ; >> +} >> -- >> 2.43.0
diff --git a/gcc/config/aarch64/aarch64-passes.def b/gcc/config/aarch64/aarch64-passes.def index f4307aab551..2df7459af92 100644 --- a/gcc/config/aarch64/aarch64-passes.def +++ b/gcc/config/aarch64/aarch64-passes.def @@ -26,4 +26,4 @@ INSERT_PASS_BEFORE (pass_late_thread_prologue_and_epilogue, 1, pass_late_track_s INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_bti); INSERT_PASS_BEFORE (pass_early_remat, 1, pass_ldp_fusion); INSERT_PASS_BEFORE (pass_peephole2, 1, pass_ldp_fusion); -INSERT_PASS_BEFORE (pass_cleanup_barriers, 1, pass_narrow_gp_writes); +INSERT_PASS_BEFORE (pass_free_cfg, 1, pass_narrow_gp_writes); diff --git a/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c b/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c new file mode 100644 index 00000000000..94ef761e801 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/narrow-gp-writes-8.c @@ -0,0 +1,10 @@ +/* PR target/124895 */ +/* { dg-do compile } */ +/* { dg-options "-Os -fpath-coverage -fno-tree-ccp -fprofile-generate -mnarrow-gp-writes" } */ + +void +foo (unsigned u) +{ + while (u) + ; +}