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
