[llvm] [AArch64] Merge duplicate extension information. (PR #92319)

Tomas Matheson via llvm-commits llvm-commits at lists.llvm.org
Thu May 16 04:26:31 PDT 2024


================
@@ -216,8 +211,10 @@ def FeaturePAN_RWV : SubtargetFeature<
 def FeaturePsUAO : SubtargetFeature< "uaops", "HasPsUAO", "true",
     "Enable v8.2 UAO PState (FEAT_UAO)">;
 
-def FeatureCCPP : SubtargetFeature<"ccpp", "HasCCPP",
-    "true", "Enable v8.2 data Cache Clean to Point of Persistence (FEAT_DPB)" >;
+let ArchExtKindSpelling = "AEK_DPB", MArchName = "dpb" in
+def FeatureCCPP : Extension<"ccpp", "CCPP",
+    "Enable v8.2 data Cache Clean to Point of Persistence (FEAT_DPB)", [],
+    "FEAT_DPB", "+ccpp", 190>;
----------------
tmatheson-arm wrote:

I agree with the goal: we probably want to generate the FMV dependencies (`DependentFeatures`) from the `Implies` field eventually.

`FMVOnlyExtension` already indicates the lack of a `-march` flag is indicated by setting `AEK_NONE`. If you need an `AEK_` to describe the dependencies between extensions, then all `FMVOnlyExtension`s will ultimately need `AEK_` names, and `AEK_NONE` can  no longer be used to indicate that they are "FMV only". So I think you're right that a new field in `ExtensionInfo` is required.

https://github.com/llvm/llvm-project/pull/92319


More information about the llvm-commits mailing list