[clang] [llvm] [NFC] [RISCV] Refactor class RISCVExtension (PR #120040)

Pengcheng Wang via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 15 23:19:53 PST 2024


================
@@ -22,11 +22,20 @@
 //             uses the record name by replacing Feature with Has.
 // value     - Value to assign to the field in RISCVSubtarget when this
 //             extension is enabled. Usually "true", but can be changed.
-class RISCVExtension<string name, int major, int minor, string desc,
+// IsExperimental
+//           - Indicates whether the extension is experimental
+class RISCVExtension<int major, int minor, string desc,
                      list<SubtargetFeature> implies = [],
                      string fieldname = !subst("Feature", "Has", NAME),
-                     string value = "true">
-    : SubtargetFeature<name, fieldname, value, desc, implies> {
+                     string value = "true", bit IsExperimental = false>
+    : SubtargetFeature<
+        !if(IsExperimental, "experimental-", "")
----------------
wangpc-pp wrote:

And, we have some naming conventions for extension features after this change, so please document above that the name must start with `FeatureStdExt` for standard extensions and `FeatureVendor` for vendor extensions.

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


More information about the llvm-commits mailing list