Message ID | 5ea2bcb9-ba8d-2a6a-f72a-4a6ab5d1dd5a@e124511.cambridge.arm.com |
---|---|
State | New |
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 8596D385829B for <patchwork@sourceware.org>; Tue, 7 Jan 2025 17:44:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8596D385829B Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=KP6UXs+d X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20627.outbound.protection.outlook.com [IPv6:2a01:111:f403:2614::627]) by sourceware.org (Postfix) with ESMTPS id 2ACE23858D26 for <gcc-patches@gcc.gnu.org>; Tue, 7 Jan 2025 17:43:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2ACE23858D26 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2ACE23858D26 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2614::627 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1736271822; cv=pass; b=i09nG26Vr1XcrEUoUbyw2z75YxeVf5dN6LyGeuQxGHqfw4syJ/na6Xp9QX9OfCOCueEdIZ3YbElLuaSVglxInhGAabFRgUBnlLQqwpMsMY2vaNvaRtPWT0vL2rDyGt3XxmF8JNT9K5Etb+ag45H7h+6bCwFJvkrFGdKIrDDSgpA= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1736271822; c=relaxed/simple; bh=XI3B45jlW36wR1KV+2LTTQkkoVOMWw2ObsIDKcDp4Wc=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=vK760C0ZcizQu0wPkbhtYSmMBi9oGV6gXp9S3AJdE858ue/YmS3fDk0oyLmCBEyO2G6ZWWsKCuNj/KdaP1lEriWqIeyzvfv3Gg4a38VLgcWG0U7PET9Jm7SqbZl6VVVyFb5aeHYSu1GPgKZbdHbRGJRRMYsOTOZjpm6sMWRyaeE= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2ACE23858D26 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pd5o5fqE2vM34TP3kX/79FcJmQJFBcaEIm40c3qEJ52E9aaDxkQ7FeB0t1IHbg7yCaJtPg/poHVAZ9okGqc39UrozuOEivRMSHraEKyev4hI0dDx0pqqhWgiaNpgSH//PrVnXnLPAsw+ngUqIzMWGjA9KQ9vEyZfXMzLYlwwpt3Ti/4PxRE+VT0yiP2XhGTUS6bn9IhwizUs4tSR6omn7diZNJtyPWMg/OXXwVTkPrV7ctGWkYL1r9IaAT46O1cD6/aOZEqeuDLqBnWDPcusTw4PtOzSxbrGTS3rEAVGOsmzh43kgZJZCRjbYWB886CZMfEDMF0JnMDnJwM3nQXiTw== 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=YngjH6MerGdVbiH6kbC2Oq8LDH3SthC+TyVxB3D+vXI=; b=gXIkNMgc1DK/Fu0rlhWOGb4vKlEMN9x4OofpVcG24L6vv+Uk17/jQwDvO9cVg7OKfdIVgYkETGblMZQNdbOcd5TkjCVaNahc9pGAsxbMEH3fB67qo0FJo9TJz1hnXckKc16GIZZja2c8R14lgSKJc2u81dDmgNULDj2MVOFL0X0ycjdMihTwdn7OhpFDO17f2OMW2N2CKJmKjoWlCcXAO8Kh9b5nM4B81O/7r1Woc5INOyXRMvwkuoTw0JLVVKr+K8Sg7VKSFPtA6/q+5RjotoJrhsMVQDlwuJCYvS6JXqZEH+6397GHiNa6/rz9JrfgLPWrDdZDqLLAbD1AR3UiRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YngjH6MerGdVbiH6kbC2Oq8LDH3SthC+TyVxB3D+vXI=; b=KP6UXs+dOjQ23x46Igynl3FQ6tqlGHpllmRu/0sb8N90SMArZbbxvot4Q/K/aVWR62DAIHPNNbkpp71mMCiq6eR9zUvkuRYvdhkCWl/kLQX15tPoWaBcTN/Bqulz1+rLk1sox7lAdawqnkBuMMlBHi2hK+CHdhSOqODLBj6RiIA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DU0PR08MB8255.eurprd08.prod.outlook.com (2603:10a6:10:411::9) by DBBPR08MB6138.eurprd08.prod.outlook.com (2603:10a6:10:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.18; Tue, 7 Jan 2025 17:43:38 +0000 Received: from DU0PR08MB8255.eurprd08.prod.outlook.com ([fe80::cbc8:c020:6a1b:d27a]) by DU0PR08MB8255.eurprd08.prod.outlook.com ([fe80::cbc8:c020:6a1b:d27a%3]) with mapi id 15.20.8314.015; Tue, 7 Jan 2025 17:43:38 +0000 Date: Tue, 7 Jan 2025 17:43:36 +0000 From: Andrew Carlotti <andrew.carlotti@arm.com> To: gcc-patches@gcc.gnu.org Cc: Richard Biener <rguenther@suse.de>, Richard Sandiford <richard.sandiford@arm.com>, Jeff Law <jlaw@ventanamicro.com> Subject: [PATCH] docs: Document new hardreg PRE pass. Message-ID: <5ea2bcb9-ba8d-2a6a-f72a-4a6ab5d1dd5a@e124511.cambridge.arm.com> References: <f2c845fe-302f-4a27-4ed5-edf80dfcb41c@e124511.cambridge.arm.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <f2c845fe-302f-4a27-4ed5-edf80dfcb41c@e124511.cambridge.arm.com> X-ClientProxiedBy: LO3P123CA0007.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:ba::12) To DU0PR08MB8255.eurprd08.prod.outlook.com (2603:10a6:10:411::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR08MB8255:EE_|DBBPR08MB6138:EE_ X-MS-Office365-Filtering-Correlation-Id: d2d36c52-ec7c-4805-48a4-08dd2f42d16d x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: q4s+irCeXKR3vQ+W9Hp2LrkaTkFKdSSuACRH8c/jDu/18uUSmIZecPm9tiCA5zizmXEbJvLvM1cLyu7bppanScg9o899dghNetsPVSQPMHzwJ6ymA85970tAToJknzPA2fd4u/+o4cCuCY1JiORLRRJpq0iafDhRZk5JK89urziEhhFcwmp/pO90qK31yl4AOVt7LznKn9bYabzNP3yC8gIwO8ag48wMYNjW+k9sTF8efUjEMx9uT6D1e8z1GX8UCEflRyiS7qvmCaibodXeNx6V8OjSmOTI+4XGnGjK2sRCA6hMpIxuY18ltN8+/v/myNO4DCPuxWAf7mJN7ct33k+Obl+EYIOgUrhW8vnqYdUvtRt4krBsddv3TVyA9PAn5ap5pNeDKvDqRJMYPgf+GVFRFWJghRjKYEAaKe+Iu3lfwmN3+CcjrmW35ixLyDG9SVEIc+2chbvATmALOrypqyAOhvoNIRlTFV7Y1Rp3bGLTiGmthDzThZV4KgAwWdHDbvIm77z01coYJ8FEoRzP8mvJVhsMayTIv2AuwX3c+ziAei3nMXB5SZiZp1bFg/5dIfKQlJRNxzQ2CglKravBlR9AbrHUsUslE9mb/evGOiI5grhyv2sOzM6MIL89u6YIyAOjxaDaYZTXien2Y067a6PDasaQSOlO2GJIBPbLilNfD7JDXju3WvsAXvNbRb/DnHK6B56U7WhcI5H7+maTzTEIXtfTWiHM1HvexuabPdpKL+azpz/QZD/O3jlhGjsbZSVYvTUORCfMmMaClTKxflVlsxsC3+/kEl6ph4G77asw9h8KStBenIWv0ZMst8NvbW10MQuodUmWvwCiXcFTeoTrLL6DHENXQdR1vAAaFCPnCT4xq5NiNafuuIpbz1wtkYikpVvX1fpSPM/e2RKxzRO4IyPB/DGgI9SJVO6SbsH/ZqqtrO7S49oc2UpKRnot7qat6hcfEJXVIhKSOQjfZpHWkWHQFe4Ofrm1K4bevFnOpfajU/vQX7Ekh/c5aCDJMf8cknVjjbJQA8psx9DaPCKisJ8PPXycEitNujXYgPObwF4gAuJu8io9MYVR9GU5RqYRMJoz1AaO5i4yYwXgzmulH7GHcJ4PeFA5cbHrNhSOmBeV47kHKivgSxbJ/o37mDbmSA4MmkYn4rWCOpQU+o/h+CIFmfyMNDLrNYSZY319Edv7TZk2c1a5Z0XpcZf/Rh7Z2VUCNFJRkyy6k2S+/JKMAbnXoX1SKnQ79Gx+GxM4EtXY+TsVj/JKmC1KnrHm7XW6aMXNg0MSEBxiUtvxEkN4g5sVyJ6RNPDSIKgx1xb1F2CH79tOEUdBbr/mcGsuBmBU03DUPefISN4Yypyv7v4cIlL1vJtNCZyYKnavNcncaP5M8TT344Cuzj07t3gP X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR08MB8255.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Hu4VzXx+TBV35HCHdAczdvSRdwosygUe5aySkKvALVt1MrOPXERxCkCHe+8s/O5cZyPT6cpuBDyO0HBpS2iqiWsKBqZZynk7WaIcJp88hzO0VbWACcyVPrtH1i77cMxPAch6ePQOfJpq6rtiTdVPwgXT5zi2WS9wvVrziphLIS1tm5smPQUBAYTHJqUxeewTjhBaohtU6C+p1D4mAQ6prD5F5lkuburUYw48wVOf4IILnWM7NZUSerEsYuD1BgkoBNHSJSQ/JCSVMiksQc/u46mH73dUcJROE4AZMIUAGCMcyw+4H1E0M92wRlA9L1wfg6EMeNy0EdwdEJh76VS+tXifKMM6wMZ7OXBLv3UEKJ75Meg/HEzH9GigaNUOrN9uiLcwnFCD7Via3tVAGkTQx+cn7F5Pej+d3TBBjbK12qhihk88yPUloIHccWmxnUvNGpmO1lJS8yLXhTh9W1VhEiC9cTnkE6TxdSZMNJR2JVIgV9LAOg9bZGkCi4trTChN+RxARKhZ3nBEV+7oHFstPfszYz4QrJ3ot0FBlQfIRGToGsGax0EVLm6InmtAA83nxuAcUrUSamDUNa2fL61ip5ZRS/sqkKZBO7dP8xG3ia3usNzJ6iM0KXDNqK7pNW1G7DkyNh8khYWawK/FDdEJGF/bVwTRrKvykL5axv3d9qg/iChxSaziJfrbW+/gjjoQOgOzNeILosHQmBJcWmeuEWaE1MhD56T94rzHk0u/q/sTQKOCWx6QdLIhqmR7DV0m79fceSh+38CCUpMzSrs3SIC6TlmbwnXwgPfi/asm/8G54nA/7a1DY4mwEDr4EwWJr1fD1i9uf4JgTfb5Ctt6xyv173n8U41t+CAEbcPe5MFtBSWwrdaEPMQyIGpTKzgq5rRsgUqsfFz9vLRJc9eK+VHWZAYwGbpnaobc4k4cCnicxFy9TudWvO0P7oyGKhPM3z4csGOZ8i8u+XzvQuJux+zPD+IpvcC8wwIM4CrtpTVlCmxikmgKLl1ii8XCCBDGpAbhqK6xrN3LYA2E2JjG11ppAkuNKFRl5UJvBnTBb9hSjqj9hT0SZyODSo2uQI0zdrcWdzzaDz9CG14RGrTnNNr6hFrrEZdiEWuaI7SOmsWk4COntm7x16kYJT4YZcpi1AFtevIw7JHRb0bn+/5HN5++BNOawdkZr0Ihv1MaJABkR/G+b8b70phTrdAcI0yUl1UY4JIkiWZ1s42I77+vdFo7iJYAZJsGXcRn8cb/giASU4Zrw8GCdFAX7/KAPtjoIkNTB7vpErzcEsFSCz1M4nfohPdKatKbSIeG9VzDAHlaa0KfP+JvizsGlRYzd//1mJXO+61R12EkrZ8wVfqBWcPNz49wUhWjQ/WWNiZZpXD/7f7AKAJDE7nAkAw0MSC+enDghpiukO9yjhhohUCFwhAmpub+NqVOpIajDKwXAyNEgEzZNd+lUulcmmbtTcaNUPBkbMtGi5+6RZPwaxmtcpHMLZMmk1Szq6fRM/5NaDeRZ2RCfReCbkGEqvyHy3qtJRSnMXcKOmBUes6TiMsk2wXW5OMyrTkEnmXrHnt5PruElIKE2PlN6cANY9dDkOZTLLt/cO9f21fVyw1FG04+zQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2d36c52-ec7c-4805-48a4-08dd2f42d16d X-MS-Exchange-CrossTenant-AuthSource: DU0PR08MB8255.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2025 17:43:38.5690 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hMOHzh+QwGBd0UNAMUHuZryR60a/Z42vJu6GVTwwgeA/j86MsQ2Sf+gG/6xpr+Nvub//J83fCu/zJd3tUDb8JA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6138 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, 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 |
docs: Document new hardreg PRE pass.
|
|
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 | success | Build passed |
linaro-tcwg-bot/tcwg_gcc_build--master-arm | success | Build passed |
linaro-tcwg-bot/tcwg_gcc_check--master-arm | success | Test passed |
Commit Message
Andrew Carlotti
Jan. 7, 2025, 5:43 p.m. UTC
I forgot to include this in the earlier patch; is this ok for master (once the pass is merged, of course)? gcc/ChangeLog: * doc/passes.texi: Document hardreg PRE pass.
Comments
Andrew Carlotti <andrew.carlotti@arm.com> writes: > I forgot to include this in the earlier patch; is this ok for master (once the > pass is merged, of course)? > > gcc/ChangeLog: > > * doc/passes.texi: Document hardreg PRE pass. > > > diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi > index 639f6b325c8be47bffd64269340c4dd8ea0f321c..5c2a174a7495404de48002f54902cce846e62b53 100644 > --- a/gcc/doc/passes.texi > +++ b/gcc/doc/passes.texi > @@ -959,6 +959,11 @@ global constant and copy propagation. > The source file for this pass is @file{gcse.cc}, and the LCM routines > are in @file{lcm.cc}. > > +A third version of this pass is run on some targets to optimise assignments to > +specific hard registers. This can be used in cases where a register has a > +single purpose, such as specifying a mode as an extra input for specific > +instructions (when these modes cannot be handled in the mode switching pass). LGTM, but how about adding ", @pxref{Mode switching optimization}" after "mode switching pass"? (Untested.) OK with that change, or without if it doesn't work. Thanks, Richard > + > @item Loop optimization > > This pass performs several loop related optimizations.
On 1/7/25 11:17 AM, Richard Sandiford wrote: > Andrew Carlotti <andrew.carlotti@arm.com> writes: >> I forgot to include this in the earlier patch; is this ok for master (once the >> pass is merged, of course)? >> >> gcc/ChangeLog: >> >> * doc/passes.texi: Document hardreg PRE pass. >> >> >> diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi >> index 639f6b325c8be47bffd64269340c4dd8ea0f321c..5c2a174a7495404de48002f54902cce846e62b53 100644 >> --- a/gcc/doc/passes.texi >> +++ b/gcc/doc/passes.texi >> @@ -959,6 +959,11 @@ global constant and copy propagation. >> The source file for this pass is @file{gcse.cc}, and the LCM routines >> are in @file{lcm.cc}. >> >> +A third version of this pass is run on some targets to optimise assignments to >> +specific hard registers. This can be used in cases where a register has a >> +single purpose, such as specifying a mode as an extra input for specific >> +instructions (when these modes cannot be handled in the mode switching pass). > > LGTM, but how about adding ", @pxref{Mode switching optimization}" after > "mode switching pass"? (Untested.) > > OK with that change, or without if it doesn't work. I've got no significant concerns. So no objections from me. jeff
Jeff Law <jeffreyalaw@gmail.com> writes: > On 1/7/25 11:17 AM, Richard Sandiford wrote: >> Andrew Carlotti <andrew.carlotti@arm.com> writes: >>> I forgot to include this in the earlier patch; is this ok for master (once the >>> pass is merged, of course)? >>> >>> gcc/ChangeLog: >>> >>> * doc/passes.texi: Document hardreg PRE pass. >>> >>> >>> diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi >>> index 639f6b325c8be47bffd64269340c4dd8ea0f321c..5c2a174a7495404de48002f54902cce846e62b53 100644 >>> --- a/gcc/doc/passes.texi >>> +++ b/gcc/doc/passes.texi >>> @@ -959,6 +959,11 @@ global constant and copy propagation. >>> The source file for this pass is @file{gcse.cc}, and the LCM routines >>> are in @file{lcm.cc}. >>> >>> +A third version of this pass is run on some targets to optimise assignments to >>> +specific hard registers. This can be used in cases where a register has a >>> +single purpose, such as specifying a mode as an extra input for specific >>> +instructions (when these modes cannot be handled in the mode switching pass). >> >> LGTM, but how about adding ", @pxref{Mode switching optimization}" after >> "mode switching pass"? (Untested.) >> >> OK with that change, or without if it doesn't work. > I've got no significant concerns. So no objections from me. Juse to be sure: my ok was just for the docs (wasn't clear, sorry), rather than the pass itself. I was holding off reviewing the pass because you're better placed than me. It sounds like your ok is for the pass as well. Is that right? Thanks, Richard
On 1/8/25 2:34 AM, Richard Sandiford wrote: > Jeff Law <jeffreyalaw@gmail.com> writes: >> On 1/7/25 11:17 AM, Richard Sandiford wrote: >>> Andrew Carlotti <andrew.carlotti@arm.com> writes: >>>> I forgot to include this in the earlier patch; is this ok for master (once the >>>> pass is merged, of course)? >>>> >>>> gcc/ChangeLog: >>>> >>>> * doc/passes.texi: Document hardreg PRE pass. >>>> >>>> >>>> diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi >>>> index 639f6b325c8be47bffd64269340c4dd8ea0f321c..5c2a174a7495404de48002f54902cce846e62b53 100644 >>>> --- a/gcc/doc/passes.texi >>>> +++ b/gcc/doc/passes.texi >>>> @@ -959,6 +959,11 @@ global constant and copy propagation. >>>> The source file for this pass is @file{gcse.cc}, and the LCM routines >>>> are in @file{lcm.cc}. >>>> >>>> +A third version of this pass is run on some targets to optimise assignments to >>>> +specific hard registers. This can be used in cases where a register has a >>>> +single purpose, such as specifying a mode as an extra input for specific >>>> +instructions (when these modes cannot be handled in the mode switching pass). >>> >>> LGTM, but how about adding ", @pxref{Mode switching optimization}" after >>> "mode switching pass"? (Untested.) >>> >>> OK with that change, or without if it doesn't work. >> I've got no significant concerns. So no objections from me. > > Juse to be sure: my ok was just for the docs (wasn't clear, sorry), > rather than the pass itself. I was holding off reviewing the pass > because you're better placed than me. > > It sounds like your ok is for the pass as well. Is that right? I am. It's pretty safe in how it triggers, so it's unlikely to cause problems with other platforms and I the relatively minor issues I did see were things Andrew adjusted in v2. Jeff
On Tue, Jan 07, 2025 at 06:17:02PM +0000, Richard Sandiford wrote: > Andrew Carlotti <andrew.carlotti@arm.com> writes: > > I forgot to include this in the earlier patch; is this ok for master (once the > > pass is merged, of course)? > > > > gcc/ChangeLog: > > > > * doc/passes.texi: Document hardreg PRE pass. > > > > > > diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi > > index 639f6b325c8be47bffd64269340c4dd8ea0f321c..5c2a174a7495404de48002f54902cce846e62b53 100644 > > --- a/gcc/doc/passes.texi > > +++ b/gcc/doc/passes.texi > > @@ -959,6 +959,11 @@ global constant and copy propagation. > > The source file for this pass is @file{gcse.cc}, and the LCM routines > > are in @file{lcm.cc}. > > > > +A third version of this pass is run on some targets to optimise assignments to > > +specific hard registers. This can be used in cases where a register has a > > +single purpose, such as specifying a mode as an extra input for specific > > +instructions (when these modes cannot be handled in the mode switching pass). > > LGTM, but how about adding ", @pxref{Mode switching optimization}" after > "mode switching pass"? (Untested.) > > OK with that change, or without if it doesn't work. I've committed the below patch, after inspecting the info, dvi and html output. > > Thanks, > Richard > > > + > > @item Loop optimization > > > > This pass performs several loop related optimizations. -------- docs: Document new hardreg PRE pass. gcc/ChangeLog: * doc/passes.texi: Document hardreg PRE pass. diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index 59a143292c78813db21ac3a7c05bca8bf5640e2d..282fc1a6a12b4f514dc7a629e8104f5374b18551 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -959,6 +959,12 @@ global constant and copy propagation. The source file for this pass is @file{gcse.cc}, and the LCM routines are in @file{lcm.cc}. +A third version of this pass is run on some targets to optimise assignments to +specific hard registers. This can be used in cases where a register has a +single purpose, such as specifying a mode as an extra input for specific +instructions (@pxref{mode switching optimization} for another way of handling +instruction modes). + @item Loop optimization This pass performs several loop related optimizations. @@ -1018,6 +1024,7 @@ combination approaches as well. The pass runs twice, once before register allocation and once after register allocation. The code is located in @file{late-combine.cc}. +@anchor{mode switching optimization} @item Mode switching optimization This pass looks for instructions that require the processor to be in a
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index 639f6b325c8be47bffd64269340c4dd8ea0f321c..5c2a174a7495404de48002f54902cce846e62b53 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -959,6 +959,11 @@ global constant and copy propagation. The source file for this pass is @file{gcse.cc}, and the LCM routines are in @file{lcm.cc}. +A third version of this pass is run on some targets to optimise assignments to +specific hard registers. This can be used in cases where a register has a +single purpose, such as specifying a mode as an extra input for specific +instructions (when these modes cannot be handled in the mode switching pass). + @item Loop optimization This pass performs several loop related optimizations.