| Message ID | 20250203130421.2192732-1-alfie.richards@arm.com |
|---|---|
| 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 6D75E3858023
for <patchwork@sourceware.org>; Mon, 3 Feb 2025 13:05:21 +0000 (GMT)
X-Original-To: gcc-patches@gcc.gnu.org
Delivered-To: gcc-patches@gcc.gnu.org
Received: from OSPPR02CU001.outbound.protection.outlook.com
(mail-norwayeastazlp170130007.outbound.protection.outlook.com
[IPv6:2a01:111:f403:c20f::7])
by sourceware.org (Postfix) with ESMTPS id F0F383858C50
for <gcc-patches@gcc.gnu.org>; Mon, 3 Feb 2025 13:04:38 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F0F383858C50
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 F0F383858C50
Authentication-Results: server2.sourceware.org;
arc=pass smtp.remote-ip=2a01:111:f403:c20f::7
ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1738587879; cv=pass;
b=sJ+8ZglIkUDNrIkeZT4BzJ3aWtwn13FVtvqtyC7Sen4+1yQsEe15hG7fXP6s7brkFo780UlnG5nz80krA0FleCio1jBRek1dXTsmOL982gubDAGUZ8r2rYEKLykCdJTxtyTjpK4cc6B5gNTODxzTsn23hex54fHQXgs78qZCUK4=
ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key;
t=1738587879; c=relaxed/simple;
bh=bxC8YIxSH3jNVa4Y+qDKTMhFqUF+7f9jZASZ0udNuxk=;
h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:
MIME-Version;
b=dpsWXX8IqbIFvC5ogpNyznD5AFpRYdbrY8DUjZNHjaJuODgswKK7WB/+szD+p31DsGCFw3MBDBQ3LL/OfDF1JbC2dZCnqcMvZR0AMts2je7k6nOLECZhiYc3AMwFZORR9aK1oN5EX1Gp7jvi8A4fG0MbaShDhJkNruZ7JNjoTJw=
ARC-Authentication-Results: i=3; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0F383858C50
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=G4bp4bOU;
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com
header.a=rsa-sha256 header.s=selector1 header.b=G4bp4bOU
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
b=FxSOTi1yLty14mE7BT5SXXOxaMhrlpTAIC1KERkC5mHPuv5hTc4e4dX+LTU3XTL9WgpeSaSN4+I1+EYxrOfyVvbjos1VYksmth/cGfXTchcYs8wW/h1RTn6klxzHI1UgumRnqI9hW/n/I80+gl77HrrGcrvWjAaQ5C0yR352Cvr8voANeQsHdKk1Lpof10XC3ee8pPit5xTHXlCvN8YFIvFphLbb/QlwFuiaMgeHx9Vp2bF5XMw4+Jhtj7xhdxgzD9VcOZj+cynJhFr4jh3MVVfwZQKu3nioUsKg5y9eqFN7GxOftjqWHM89dqV+UJEu/p909FJvWxK7ubm7DQMqLw==
ARC-Message-Signature: i=2; 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=9YC6kmP01Hxl6P/vLrYf1UEqb6hjXCcuvS6ZsxrjRZY=;
b=rSYfXXxCzf585psNorMO7Gy/PtM5SxOi5Gp4YbedVEZUp06pCvCSi9YG+mOTE+wwhDyKci4Yv8fJgBa33V1TrNnSOxuCOt2JrukHMJRnmXjnop5y+c4kQJf5ItMN0e9AgGcHfYYiZVZSAwg+/gy5YjGGFXYBLuSsQ0Hp17b5rmrrzQ2PzrgVgV7EaR5CavTLxF/EukgMNeRB31XyBVo+JcQzGwehPcA6MvxuMTQo4trLN3BsY6qbELiawBDqlPDueORL/Uj4OT25saIzCUolnQfDpHF/KnM6cWcEjAdxAk0ex4xuL00dw8KoeYCMXeH8Bz+SuIB7SyRxfXRMHZkj9g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass
(p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
(signature was verified) header.d=arm.com; arc=pass (0 oda=0 ltdi=1)
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=9YC6kmP01Hxl6P/vLrYf1UEqb6hjXCcuvS6ZsxrjRZY=;
b=G4bp4bOUhItySACXInilxpQYkriukP+AEL5Y+ZeuZbTCKMjJ6N8ATZq2qRMFZ3KlK0rrQ7ege5qy78qslXYh0VQlBs7YhE836YGry+ENm5iw+/V52qLplNWR3NSvAH/cRdBuWrqoBkYkolGCwT28WTMFkjY4D0Z/QvinT9hpwJ8=
Received: from AS9PR0301CA0007.eurprd03.prod.outlook.com
(2603:10a6:20b:468::27) by AS2PR08MB9548.eurprd08.prod.outlook.com
(2603:10a6:20b:60b::13) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Mon, 3 Feb
2025 13:04:34 +0000
Received: from AMS0EPF0000019F.eurprd05.prod.outlook.com
(2603:10a6:20b:468:cafe::65) by AS9PR0301CA0007.outlook.office365.com
(2603:10a6:20b:468::27) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.25 via Frontend Transport; Mon,
3 Feb 2025 13:04:34 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
smtp.mailfrom=arm.com; dkim=pass (signature was verified)
header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
63.35.35.123 as permitted sender) receiver=protection.outlook.com;
client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
pr=C
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
AMS0EPF0000019F.mail.protection.outlook.com (10.167.16.251) with
Microsoft
SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.14
via Frontend Transport; Mon, 3 Feb 2025 13:04:34 +0000
Received: ("Tessian outbound f834169b9670:v560");
Mon, 03 Feb 2025 13:04:33 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: edd539dee6ccbdc8
X-TessianGatewayMetadata:
to8+vdfm2actWvQZ+Ci9Cor0f9pr0ouFvr9aGm0Pas+U4qet+oBAqRPf8D57HbjkJGHXVg2/AFmz3qLZ6i3Hm+VZ4TOfKNxnLRmxukYYZmOaRm/k92LhEcGCBeNtfD+k5UWXNJC3oKcJr7VjaFhYnr9dvhEJoVGzb5HQC2kvwiE=
X-CR-MTA-TID: 64aa7808
Received: from Lc4dcfbefb767.2
by 64aa7808-outbound-1.mta.getcheckrecipient.com id
9FCC8791-189C-4C52-AF94-3DA44E7AD5E2.1;
Mon, 03 Feb 2025 13:04:28 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
Lc4dcfbefb767.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Mon, 03 Feb 2025 13:04:28 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=KK+aTTVrIOCtffYmagGJs2JD4APZxY+bAQodlDFBW+1066x7JkFWwd+nVMpBIz3EQbstqCDpZqCKmGNJVJwq+dBH5NfnpM2+SUvBUOLMqDmUUoZxfDDi9G/e42A4TwLCU/T1mfOKVc0CxYxJT4Y7c/5tCO17Y/ESREFFw9rAKS3kX62DXY2oufbLyjmjrJG56fXU6MQJusLKhDfF+EGuqJL4oBjjdn+jblM7VzNRg3oXz/oaWJeNzbqwUL/sEBKqbI7lLsRBTamW8anVOi9UhiB/hJvF1qKAvaUJjj7N7RVJhVdf6/CxcdPNnyl4RJghhxXq+mmChTmXZg7jjAYs3g==
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=9YC6kmP01Hxl6P/vLrYf1UEqb6hjXCcuvS6ZsxrjRZY=;
b=sjoeVQ4gdFLL9VJYhlHI9AcfRq2aoiZMt9wIxw/22DZBRtYuNKQ529g47X6xTnC63VXYPMoI8Un+qnwmhhNH/N8dx70u3goVGNgnPhe7eIoBg/+kKl6qZskOWw2txHg29cmSDz6GnzOE8/VmbF52RX1T4aBw6VUIMlBN1xRu6bxaucAV2CpQR3btpLZPMx5xLYiVECQbON5JTsXTz0QNPO0D6r48okJcHqtEM8MDOG+jkwwVUhOao+NmKbk+PAMsuz0CNG7vmigRCf10/pRKePfj0xo5+KJ7XXytNpV6frmbSS0pPslA2m5VRvs7M4V+Np4au1pJfQtmoaj59DI8oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is
172.205.89.229) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com;
dmarc=fail (p=none sp=none pct=100) action=none header.from=arm.com;
dkim=none (message not signed); arc=none (0)
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=9YC6kmP01Hxl6P/vLrYf1UEqb6hjXCcuvS6ZsxrjRZY=;
b=G4bp4bOUhItySACXInilxpQYkriukP+AEL5Y+ZeuZbTCKMjJ6N8ATZq2qRMFZ3KlK0rrQ7ege5qy78qslXYh0VQlBs7YhE836YGry+ENm5iw+/V52qLplNWR3NSvAH/cRdBuWrqoBkYkolGCwT28WTMFkjY4D0Z/QvinT9hpwJ8=
Received: from DUZPR01CA0259.eurprd01.prod.exchangelabs.com
(2603:10a6:10:4b9::7) by FRZPR08MB11100.eurprd08.prod.outlook.com
(2603:10a6:d10:135::17) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Mon, 3 Feb
2025 13:04:26 +0000
Received: from DU2PEPF00028CFC.eurprd03.prod.outlook.com
(2603:10a6:10:4b9:cafe::f4) by DUZPR01CA0259.outlook.office365.com
(2603:10a6:10:4b9::7) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.24 via Frontend Transport; Mon,
3 Feb 2025 13:04:28 +0000
X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 172.205.89.229)
smtp.mailfrom=arm.com; dkim=none (message not signed)
header.d=none;dmarc=fail action=none header.from=arm.com;
Received-SPF: Fail (protection.outlook.com: domain of arm.com does not
designate 172.205.89.229 as permitted sender)
receiver=protection.outlook.com; client-ip=172.205.89.229;
helo=nebula.arm.com;
Received: from nebula.arm.com (172.205.89.229) by
DU2PEPF00028CFC.mail.protection.outlook.com (10.167.242.180) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.20.8398.14 via Frontend Transport; Mon, 3 Feb 2025 13:04:25 +0000
Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) by AZ-NEU-EX05.Arm.com
(10.240.25.133) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Feb
2025 13:04:25 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EXJ01.Arm.com
(10.240.25.132) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 3 Feb
2025 13:04:24 +0000
Received: from ip-10-248-139-135.eu-west-1.compute.internal (10.252.78.54) by
AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server id
15.1.2507.39 via Frontend Transport; Mon, 3 Feb 2025 13:04:23 +0000
From: Alfie Richards <alfie.richards@arm.com>
To: <gcc-patches@gcc.gnu.org>
CC: <richard.sandiford@arm.com>, <hubicka@ucw.cz>, <ubizjak@gmail.com>,
<josmyers@redhat.com>, <jason@redhat.com>, <dje.gcc@gmail.com>,
<kito.cheng@gmail.com>, Alfie Richards <alfie.richards@arm.com>
Subject: [RFC][PATCH v1 00/16] FMV refactor and ACLE compliance.
Date: Mon, 3 Feb 2025 13:04:04 +0000
Message-ID: <20250203130421.2192732-1-alfie.richards@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
DU2PEPF00028CFC:EE_|FRZPR08MB11100:EE_|AMS0EPF0000019F:EE_|AS2PR08MB9548:EE_
X-MS-Office365-Filtering-Correlation-Id: 77c7aa6d-b7a5-4859-2cb8-08dd44534e59
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
ARA:13230040|1800799024|376014|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info-Original:
lC19soY5/7FJsdPCk+unjLGNYR10T6ghmXIFqnYg7dxEfN538EUyqHewNhxWtCdnZfnkEUS9cJN2Makmcxbjp4tStM7lDdTAVFjdP+V4xcmoQfANRQRMErFHfIP/QgR1cYM9qbksSPbBSTnBA3ILx1Muym6iANF7lVBS3GjaDhvPlNqyvcLxT5+fOjO0dHuhOPhyvLctzETeCBMVqxxYp6BpEwIGyPvOomKld/S5nE6odggsRu6eOzQQrzimGnFMtDrDlWmFUgZkZabMLZp8Texh5+EySNxMo88I3KWUZ2CWluMiieq+7SfC8gKv6sBW3CM2/SMWaxxHZI5GxRC63FI9CLTjMbqAtL+puYkbD28FxymLSceNunsjCZtiYKOLh1O6Ip55ym7qwrlcGGIVQYXA4xnmi633AyPHqHLHPj18TXfOV2slHSBQhD4Y4HmDpI3+zb96oVxo/4/lmKlIy0s2vLrq3LlURY0I/eQ2P8fA7Tbd0NjW/0fDQd4rx9ztl73ypW1rdiGI9c2LErCdi/EOk9ryc2bBSoUDadFLA/c10TsfzNumCV/6CP3dfsHWSqrjweRJaMkPGcPbk0QJRV9b+KZ/lmZ6eiOp82Z89iS+UWDexeL6HugO9h0KdsmDv6tbPoIyZHMGHAL4tGylmgy4IGf5NyUAmpgfiPGsOhWQDM0U37mlGljNBLGtRG6ILzXk0mHrdgyeZCpT9rhgGkHKRvHRko5Br3OvLBTT1XHVuCk6uRvOTlgRrfSdoqA25eSHGjYJTdti2P2O4mrUdae6EjDwMdk7e8YuWU1tjnMiEPuSoM/ITQKJhblOA+p74b84DskfDUEgSP9FPAu1RKf+wFYwPVpK1ofrMWsZl5/Zgm3CEM+2a6/CsCrCWdcfxqgRe4xDLAyd60AbXgiQ1l9JmhtP2ZJ6EqISj0scsfUQKxVCYlXm9vwC6T9GluFNeIeZ3ZPQdjpiXJe8oHe5diPVaSsEntCVbWRi9KdVy83fC0EHJL3oi4k9RFFnQKtFQVFBC3YvO3n5M3KV/RLK1fb5goBb7tL9zPf9jVxn+tQDTd9lcttar3w3z1BJZ/CC78dN9HMUE/K1YSTVZp/IL39fIxY24Qzo/jnoUFZTk97aVuvhQ2tlsYux4tPBbp067sQssVKSKgZ0iN/uLHm51uVxPrSbLuoch+r8z/uY5keAaaqSzPwO4mDP65y4ZxN5dvyJv2Kx940Szy/VPbTjvb/HTRUbyDjycyx20QVxalT44cqDzouhLnzL9jiZtmQQbsH2X1hBs1LldULYXIsL2kzqGu853sWFwUJnf268d33LHIS/UbmGBpfqxYMpcJODLZHJdf31foEBxTeLB/GL8K5efD7h11+1CB8W44KMohKVzVNcsFeVQSlQN8SGOdC+ReYF0V82H2LdQp4sZgxqmNzQ9xdKLMSWqQFzryW6h86/KEz4rQ2CAlAcoxIBPOhWelob+fn9fHFLdvJNd7cRzfq9Dn7RkWOjcFrKp5aLO9E=
X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en;
SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent;
CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013);
DIR:OUT; SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZPR08MB11100
X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:10:4b9::7];
domain=DUZPR01CA0259.eurprd01.prod.exchangelabs.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
AMS0EPF0000019F.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
1a5dd8af-e7ac-410f-2028-08dd4453494f
X-Microsoft-Antispam: BCL:0;
ARA:13230040|36860700013|35042699022|376014|82310400026|1800799024|14060799003;
X-Microsoft-Antispam-Message-Info:
0fvjZbFLHT5+czDLUQIqL4wNXw9FiXUm6ozUxmRKwUEknhyLSQhKg9ucf7J8tC0oofEs/E7zdy8JLf8lRPtA/jg52uF3mbvbJEeXfA8iyf15MlS6BNWnqN4sUkKH1ay+gZWV8yqGeZ05IxORjauJV9+Q/3qEwKfpml5qkPPfrkHucTwrkG6RbX38E0LM6YdtgveoeeGjUhBA2PTVUswMT0CjW7Cf2F51aS9CUoSfX6eODmtJQMM/BbLh4BCVRL1O/iC7dE9GDCMBaEXiPUOX04j3iL0+dF6i6rXL5TGnt6A6DLLyfAimtJ+kSlQYhuXhFsT/2HMDq1VgqArDslqytKoqTKeZEm2ARMsSoZo0iGxRVefZ6pB/8U3g3MU6K66ZRbobTY84xoC7DeT7jaXOivqXBEVhGhbGEnybuKo+UedyuSnoeuy2Kn1QraLOsZ18U5+ukyXF2jCdlAksLSdgTv2ZHuul/xq9yT2W6A7HYbXGrwg+vwu/y9P4ZFvLkbv1X6C0R38jCW3bDtYg9pLCrvALtP8WoEA5HnvptMaa5NpRDCRL4NKII1/hAkCiWrYNsnMbk2rvFkTo1SDz9UOEzoc+gubkg1KtUU0H6e2bWoWJ4mfVX+1BmRMjTebvH1DufWKyGH7Hfle5glRspK7d08lTT6FDLwvLJzYT0Hi16rRUDJ9E5AVj9bCvn94ZIMCP6JRSNSRZqfD86+co1AhFuIsS7d3TsaJSM0ulAAzPR7OV7jzpkVb49OKaNrREh9oCb6fk9cQEQV4dcwbI7pH0lJ037EWzHw1ygEC8JiJdBP8havEVx+we+6Zxc8CZvF5v1cOrnCLqdEwRrM/y4/k0QEJezV+Fn7EHl/yVnKP+n2MDXHdjUxGtlv8+5kcak0EM/T1B3+G3jwSTeO+Gc23nrQ1w6hDzqgMwmom5FgY1kPDKe6v1qe+F8/PUMluKkYo6EZK9nnlBMsN9Ky6bFKT6whVbb3PlM/fvpTV410S4WtYRSi6YKmf42oHnMQkaxQX9jox+eaoMiP8RYkaM3T/mH+X9ee09gcIW1ZVVrk9d2ji8dSWCAvWPqR46yUhPPHd0SC+5U/mrH4J1ozjGpaspPc69y1kTzUFlyENI4iSPAO46DgFoyWFb2jR2d/HoR20AWP8LAyeYfXfV2LnTmON6KOUQxXuYW473QWDQ1bwE4JwvlCx3tTQdGIYcto2sUunDhz5dyuHEF8xXzmY0yzMBWXWJd/9yUj+Yde3dafPcKOkisE0DT81Y0RpfIPlX0vkaGao++EoaeiW9EgqWLEMYDuHLtor6Dtj7d6Jowy5Og5iZbMjfo5xMQ1oAejYMSWAGl6+vBOrNqddAdBvC+MYyhRSHFaj3rlzcuFiEq4Ou4jbgrQscjWyI+f/QIrxl7I2jUsoA58+IPVNE1RSvNzjD0cJy/IDH8Qc4d1Ii6EDNBPFdN2d7KbB+CdjbZlgsnAqS8uYnRUOvHsdLlTxEyVhpXNy6R3hDjDHzGTAwbU4ap1w=
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;
IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;
PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE;
SFS:(13230040)(36860700013)(35042699022)(376014)(82310400026)(1800799024)(14060799003);
DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2025 13:04:34.2201 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id:
77c7aa6d-b7a5-4859-2cb8-08dd44534e59
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp:
TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
AMS0EPF0000019F.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9548
X-Spam-Status: No, score=-5.6 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_NONE, TXREP,
UNPARSEABLE_RELAY 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 |
FMV refactor and ACLE compliance.
|
|
Message
Alfie Richards
Feb. 3, 2025, 1:04 p.m. UTC
Hello,
This patch series intends to changes the behavior of targets with
TARGET_HAS_FMV_TARGET_ATTRIBUTE set to false (ie. uses target_version attributes
for FMV as opposed to target attributes)
to follow the behavior specified in the Arm C Language Extension.
There is significant refactoring to FMV in the process.
Notable changes include:
* Introduction of the string_slice class.
* Refactoring FMV mangling to always use the existing hook.
* Changing the x86 mangling of dispatched symbols.
* Adding new members to cgraph_function_version_info and cgraph_node.
* Specifically, adding cgraph logic earlier in the C and C++ front ends than
it was previously.
* Changing the cgraph_function_version_info to be implicitly ordered.
* Changing resolver creation for target_version to reuse the target_clones
logic.
* Only creating the resolver (in target_version semantics) when the default
version is implemented.
* Changing C++ symbol resolution for target_version semantics to only resolve
default versions.
* ie. changing the scope and signature of the FMV function set to be
determined by default versions.
I would appreciate overall feedback on these changes, and specific thoughts on
the behavioral changes it makes to riscv FMV (as it also uses target_version
semantics) and to the mangling change for x86 (see test changes for both) from
relevant maintainers.
These changes are targeting GCC 16 stage 1.
Regression tested and bootstrapped for aarch64-none-linux-gnu and
x86_64-unknown-linux-gnu.
Cross compiled and the FMV tests ran for riscv and powerpc.
Kind regards,
Alfie Richards
Alfie Richards (16):
Add PowerPC FMV symbol tests.
Add x86 FMV symbol tests
Add string_slice class.
Remove unnecessary `record` argument from maybe_version_functions.
Update is_function_default_version to work with target_version.
Change function versions to be implicitly ordered.
Add version of make_attribute supporting string_slice.
Add get_clone_versions function.
Add assembler_name to cgraph_function_version_info.
Add dispatcher_resolver_function and is_target_clone to cgraph_node.
Add clone_identifier function.
Refactor FMV name mangling.
Remove unused target_clone parsing code.
Change target_version semantics to follow ACLE specification.
Support mixing of target_clones and target_version for aarch64.
Remove FMV beta warning.
gcc/attribs.cc | 79 ++++--
gcc/attribs.h | 1 +
gcc/c-family/c-attribs.cc | 4 +-
gcc/c/c-decl.cc | 20 ++
gcc/cgraph.cc | 49 +++-
gcc/cgraph.h | 31 ++-
gcc/cgraphclones.cc | 16 +-
gcc/cgraphunit.cc | 9 +
gcc/config/aarch64/aarch64.cc | 233 ++++++++----------
gcc/config/i386/i386-features.cc | 123 +++++----
gcc/config/riscv/riscv.cc | 136 ++++------
gcc/config/rs6000/rs6000.cc | 139 ++++++++---
gcc/cp/call.cc | 8 +
gcc/cp/class.cc | 13 +-
gcc/cp/cp-gimplify.cc | 6 +-
gcc/cp/cp-tree.h | 2 +-
gcc/cp/decl.cc | 80 +++++-
gcc/cp/typeck.cc | 8 +
gcc/ipa.cc | 11 +
gcc/multiple_target.cc | 220 ++++++-----------
gcc/testsuite/g++.target/aarch64/mv-1.C | 6 +-
.../g++.target/aarch64/mv-and-mvc1.C | 38 +++
.../g++.target/aarch64/mv-and-mvc2.C | 29 +++
.../g++.target/aarch64/mv-and-mvc3.C | 41 +++
.../g++.target/aarch64/mv-and-mvc4.C | 38 +++
gcc/testsuite/g++.target/aarch64/mv-error1.C | 13 +
gcc/testsuite/g++.target/aarch64/mv-error13.C | 13 +
gcc/testsuite/g++.target/aarch64/mv-error2.C | 10 +
gcc/testsuite/g++.target/aarch64/mv-error3.C | 13 +
gcc/testsuite/g++.target/aarch64/mv-error7.C | 9 +
gcc/testsuite/g++.target/aarch64/mv-error8.C | 21 ++
gcc/testsuite/g++.target/aarch64/mv-error9.C | 12 +
gcc/testsuite/g++.target/aarch64/mv-pragma.C | 2 +-
.../g++.target/aarch64/mv-symbols1.C | 2 +-
.../g++.target/aarch64/mv-symbols10.C | 43 ++++
.../g++.target/aarch64/mv-symbols11.C | 27 ++
.../g++.target/aarch64/mv-symbols12.C | 18 ++
.../g++.target/aarch64/mv-symbols14.C | 16 ++
.../g++.target/aarch64/mv-symbols15.C | 16 ++
.../g++.target/aarch64/mv-symbols2.C | 14 +-
.../g++.target/aarch64/mv-symbols3.C | 8 +-
.../g++.target/aarch64/mv-symbols4.C | 8 +-
.../g++.target/aarch64/mv-symbols5.C | 8 +-
.../g++.target/aarch64/mv-symbols6.C | 23 ++
.../g++.target/aarch64/mv-symbols8.C | 48 ++++
.../g++.target/aarch64/mv-symbols9.C | 46 ++++
.../g++.target/aarch64/mv-warning1.C | 9 -
.../g++.target/aarch64/mvc-symbols1.C | 2 +-
.../g++.target/aarch64/mvc-symbols2.C | 2 +-
.../g++.target/aarch64/mvc-symbols3.C | 14 +-
.../g++.target/aarch64/mvc-symbols4.C | 2 +-
.../g++.target/aarch64/mvc-warning1.C | 6 -
gcc/testsuite/g++.target/i386/mv-symbols1.C | 68 +++++
gcc/testsuite/g++.target/i386/mv-symbols2.C | 56 +++++
gcc/testsuite/g++.target/i386/mv-symbols3.C | 44 ++++
gcc/testsuite/g++.target/i386/mv-symbols4.C | 50 ++++
gcc/testsuite/g++.target/i386/mv-symbols5.C | 56 +++++
gcc/testsuite/g++.target/i386/mvc-symbols1.C | 44 ++++
gcc/testsuite/g++.target/i386/mvc-symbols2.C | 29 +++
gcc/testsuite/g++.target/i386/mvc-symbols3.C | 35 +++
gcc/testsuite/g++.target/i386/mvc-symbols4.C | 23 ++
.../g++.target/powerpc/mvc-symbols1.C | 47 ++++
.../g++.target/powerpc/mvc-symbols2.C | 35 +++
.../g++.target/powerpc/mvc-symbols3.C | 41 +++
.../g++.target/powerpc/mvc-symbols4.C | 29 +++
gcc/testsuite/g++.target/riscv/mv-symbols2.C | 12 +-
gcc/testsuite/g++.target/riscv/mv-symbols3.C | 6 +-
gcc/testsuite/g++.target/riscv/mv-symbols4.C | 6 +-
gcc/testsuite/g++.target/riscv/mv-symbols5.C | 6 +-
gcc/testsuite/g++.target/riscv/mvc-symbols3.C | 12 +-
gcc/tree.cc | 52 ++--
gcc/tree.h | 6 +-
gcc/vec.cc | 157 ++++++++++++
gcc/vec.h | 38 +++
74 files changed, 2007 insertions(+), 590 deletions(-)
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-and-mvc1.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-and-mvc2.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-and-mvc3.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-and-mvc4.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error1.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error13.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error2.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error3.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error7.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error8.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-error9.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols10.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols11.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols12.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols14.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols15.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols6.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols8.C
create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols9.C
delete mode 100644 gcc/testsuite/g++.target/aarch64/mv-warning1.C
delete mode 100644 gcc/testsuite/g++.target/aarch64/mvc-warning1.C
create mode 100644 gcc/testsuite/g++.target/i386/mv-symbols1.C
create mode 100644 gcc/testsuite/g++.target/i386/mv-symbols2.C
create mode 100644 gcc/testsuite/g++.target/i386/mv-symbols3.C
create mode 100644 gcc/testsuite/g++.target/i386/mv-symbols4.C
create mode 100644 gcc/testsuite/g++.target/i386/mv-symbols5.C
create mode 100644 gcc/testsuite/g++.target/i386/mvc-symbols1.C
create mode 100644 gcc/testsuite/g++.target/i386/mvc-symbols2.C
create mode 100644 gcc/testsuite/g++.target/i386/mvc-symbols3.C
create mode 100644 gcc/testsuite/g++.target/i386/mvc-symbols4.C
create mode 100644 gcc/testsuite/g++.target/powerpc/mvc-symbols1.C
create mode 100644 gcc/testsuite/g++.target/powerpc/mvc-symbols2.C
create mode 100644 gcc/testsuite/g++.target/powerpc/mvc-symbols3.C
create mode 100644 gcc/testsuite/g++.target/powerpc/mvc-symbols4.C