Author: Amina Chabane
Date: 2025-12-31T10:43:57Z
New Revision: 4f63db15a89aa71f042436f333d94d2790c80496

URL: 
https://github.com/llvm/llvm-project/commit/4f63db15a89aa71f042436f333d94d2790c80496
DIFF: 
https://github.com/llvm/llvm-project/commit/4f63db15a89aa71f042436f333d94d2790c80496.diff

LOG: Revert "[MCA] Ignore host -mcpu when target lacks said CPU (#174004)"

This reverts commit 7409c1f8685fb32450087857477c49ac0f82a7a2.

Added: 
    llvm/test/tools/llvm-mca/mcpu-help.test

Modified: 
    llvm/tools/llvm-mca/llvm-mca.cpp

Removed: 
    llvm/test/tools/llvm-mca/AArch64/mcpu-help.test


################################################################################
diff  --git a/llvm/test/tools/llvm-mca/AArch64/mcpu-help.test 
b/llvm/test/tools/llvm-mca/mcpu-help.test
similarity index 100%
rename from llvm/test/tools/llvm-mca/AArch64/mcpu-help.test
rename to llvm/test/tools/llvm-mca/mcpu-help.test

diff  --git a/llvm/tools/llvm-mca/llvm-mca.cpp 
b/llvm/tools/llvm-mca/llvm-mca.cpp
index 45fa4973d4399..c4aa081a095f8 100644
--- a/llvm/tools/llvm-mca/llvm-mca.cpp
+++ b/llvm/tools/llvm-mca/llvm-mca.cpp
@@ -392,6 +392,9 @@ int main(int argc, char **argv) {
   if (!TheTarget)
     return 1;
 
+  if (MCPU == "native")
+    MCPU = std::string(llvm::sys::getHostCPUName());
+
   // Package up features to be passed to target/subtarget
   std::string FeaturesStr;
   if (MATTRS.size()) {
@@ -401,44 +404,13 @@ int main(int argc, char **argv) {
     FeaturesStr = Features.getString();
   }
 
-  auto CreateSubtargetInfo = [&](StringRef CPU) {
-    return std::unique_ptr<MCSubtargetInfo>(
-        TheTarget->createMCSubtargetInfo(TheTriple, CPU, FeaturesStr));
-  };
-
-  std::unique_ptr<MCSubtargetInfo> STI;
-  if (MCPU == "native") {
-    std::string HostCPU = std::string(llvm::sys::getHostCPUName());
-    STI = CreateSubtargetInfo("");
-    if (!STI) {
-      WithColor::error() << "unable to create subtarget info\n";
-      return 1;
-    }
-    if (!HostCPU.empty() && STI->isCPUStringValid(HostCPU)) {
-      // Only utilise the detected host CPU when it exists in the processor
-      // table for the requested triple.
-      STI = CreateSubtargetInfo(HostCPU);
-      if (!STI) {
-        WithColor::error() << "unable to create subtarget info\n";
-        return 1;
-      }
-      MCPU = HostCPU;
-    } else {
-      MCPU.clear();
-    }
-  } else {
-    STI = CreateSubtargetInfo(MCPU);
-    if (!STI) {
-      WithColor::error() << "unable to create subtarget info\n";
-      return 1;
-    }
+  std::unique_ptr<MCSubtargetInfo> STI(
+      TheTarget->createMCSubtargetInfo(TheTriple, MCPU, FeaturesStr));
+  if (!STI) {
+    WithColor::error() << "unable to create subtarget info\n";
+    return 1;
   }
 
-  if (MCPU.empty())
-    // MCPU being empty here means the target default was selected above,
-    // which avoids forwarding incompatible host CPUs when cross-compiling.
-    MCPU = std::string(STI->getCPU());
-
   if (MCPU == "help")
     return 0;
 


        
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to