[clang] [clang] deduplicate target-features for modules (PR #187614)

Jan Svoboda via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 1 10:56:16 PDT 2026


================
@@ -495,7 +495,10 @@ static bool checkTargetOptions(const TargetOptions &TargetOpts,
   SmallVector<StringRef, 4> ReadFeatures(TargetOpts.FeaturesAsWritten.begin(),
                                          TargetOpts.FeaturesAsWritten.end());
   llvm::sort(ExistingFeatures);
+  ExistingFeatures.erase(llvm::unique(ExistingFeatures),
+                         ExistingFeatures.end());
   llvm::sort(ReadFeatures);
+  ReadFeatures.erase(llvm::unique(ReadFeatures), ReadFeatures.end());
----------------
jansvoboda11 wrote:

Can you explain why? Do targets inject features enabled by default into `TargetOptions`?

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


More information about the cfe-commits mailing list