From 40a87f9891126262f74cf013225cdf28b4162c60 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Mon, 6 Oct 2025 22:26:47 +0000 Subject: [PATCH 1/2] [NFC][Flang] Prefer triple overloads of lookupTarget The overloads accepting a string will be deprecated soon, like other functions in TargetRegistry. --- flang/lib/Frontend/CompilerInstance.cpp | 6 +++--- flang/tools/bbc/bbc.cpp | 5 +++-- flang/tools/flang-driver/fc1_main.cpp | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/flang/lib/Frontend/CompilerInstance.cpp b/flang/lib/Frontend/CompilerInstance.cpp index d97b4b8af6d61..5920ed82114f8 100644 --- a/flang/lib/Frontend/CompilerInstance.cpp +++ b/flang/lib/Frontend/CompilerInstance.cpp @@ -344,9 +344,10 @@ bool CompilerInstance::setUpTargetMachine() { const std::string &theTriple = targetOpts.triple; // Create `Target` + const llvm::Triple triple(theTriple); std::string error; const llvm::Target *theTarget = - llvm::TargetRegistry::lookupTarget(theTriple, error); + llvm::TargetRegistry::lookupTarget(triple, error); if (!theTarget) { getDiagnostics().Report(clang::diag::err_fe_unable_to_create_target) << error; @@ -365,13 +366,12 @@ bool CompilerInstance::setUpTargetMachine() { tOpts.EnableAIXExtendedAltivecABI = targetOpts.EnableAIXExtendedAltivecABI; targetMachine.reset(theTarget->createTargetMachine( - llvm::Triple(theTriple), /*CPU=*/targetOpts.cpu, + triple, /*CPU=*/targetOpts.cpu, /*Features=*/featuresStr, /*Options=*/tOpts, /*Reloc::Model=*/CGOpts.getRelocationModel(), /*CodeModel::Model=*/cm, OptLevel)); assert(targetMachine && "Failed to create TargetMachine"); if (cm.has_value()) { - const llvm::Triple triple(theTriple); if ((cm == llvm::CodeModel::Medium || cm == llvm::CodeModel::Large) && triple.getArch() == llvm::Triple::x86_64) { targetMachine->setLargeDataThreshold(CGOpts.LargeDataThreshold); diff --git a/flang/tools/bbc/bbc.cpp b/flang/tools/bbc/bbc.cpp index 69a45c66a079a..8b12da3a7b50a 100644 --- a/flang/tools/bbc/bbc.cpp +++ b/flang/tools/bbc/bbc.cpp @@ -316,13 +316,14 @@ createTargetMachine(llvm::StringRef targetTriple, std::string &error) { std::string triple{targetTriple}; if (triple.empty()) triple = llvm::sys::getDefaultTargetTriple(); + llvm::Triple parsedTriple(triple); const llvm::Target *theTarget = - llvm::TargetRegistry::lookupTarget(triple, error); + llvm::TargetRegistry::lookupTarget(parsedTriple, error); if (!theTarget) return nullptr; return std::unique_ptr{ - theTarget->createTargetMachine(llvm::Triple(triple), /*CPU=*/"", + theTarget->createTargetMachine(parsedTriple, /*CPU=*/"", /*Features=*/"", llvm::TargetOptions(), /*Reloc::Model=*/std::nullopt)}; } diff --git a/flang/tools/flang-driver/fc1_main.cpp b/flang/tools/flang-driver/fc1_main.cpp index d9b103dbe6c8c..b5bbb0b86232d 100644 --- a/flang/tools/flang-driver/fc1_main.cpp +++ b/flang/tools/flang-driver/fc1_main.cpp @@ -34,9 +34,10 @@ using namespace Fortran::frontend; /// Print supported cpus of the given target. static int printSupportedCPUs(llvm::StringRef triple) { + llvm::Triple parsedTriple(triple); std::string error; const llvm::Target *target = - llvm::TargetRegistry::lookupTarget(triple, error); + llvm::TargetRegistry::lookupTarget(parsedTriple, error); if (!target) { llvm::errs() << error; return 1; @@ -45,7 +46,7 @@ static int printSupportedCPUs(llvm::StringRef triple) { // the target machine will handle the mcpu printing llvm::TargetOptions targetOpts; std::unique_ptr targetMachine( - target->createTargetMachine(llvm::Triple(triple), "", "+cpuhelp", + target->createTargetMachine(parsedTriple, "", "+cpuhelp", targetOpts, std::nullopt)); return 0; } From 8065a080546d6f65af542609cefb548089acbfc8 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Mon, 6 Oct 2025 22:46:52 +0000 Subject: [PATCH 2/2] format --- flang/tools/flang-driver/fc1_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flang/tools/flang-driver/fc1_main.cpp b/flang/tools/flang-driver/fc1_main.cpp index b5bbb0b86232d..a8ad38b015213 100644 --- a/flang/tools/flang-driver/fc1_main.cpp +++ b/flang/tools/flang-driver/fc1_main.cpp @@ -46,8 +46,8 @@ static int printSupportedCPUs(llvm::StringRef triple) { // the target machine will handle the mcpu printing llvm::TargetOptions targetOpts; std::unique_ptr targetMachine( - target->createTargetMachine(parsedTriple, "", "+cpuhelp", - targetOpts, std::nullopt)); + target->createTargetMachine(parsedTriple, "", "+cpuhelp", targetOpts, + std::nullopt)); return 0; }