[clang] [flang] [llvm] [AArch64][Driver] Better handling of target feature dependencies (PR #78270)
David Spickett via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 17 05:55:24 PST 2024
================
@@ -308,6 +312,94 @@ inline constexpr ExtensionInfo Extensions[] = {
};
// clang-format on
+struct ExtensionSet {
+ // Set of extensions which are currently enabled.
+ ExtensionBitset Enabled;
+ // Set of extensions which have been enabled or disabled at any point. Used
+ // to avoid cluttering the cc1 command-line with lots of unneeded features.
+ ExtensionBitset Touched;
+ // Base architecture version, which we need to know because some feature
+ // dependencies change depending on this.
+ const ArchInfo *BaseArch;
+
+ ExtensionSet() : Enabled(), Touched(), BaseArch(nullptr) {}
+
+ // Enable the given architecture extension, and any other extensions it
+ // depends on.
----------------
DavidSpickett wrote:
Is it worth saying here whether it updates the base architecture version? I'm guessing that it does not.
https://github.com/llvm/llvm-project/pull/78270
More information about the cfe-commits
mailing list