diff --git a/mlir/lib/Target/LLVM/ModuleToObject.cpp b/mlir/lib/Target/LLVM/ModuleToObject.cpp index 5055cd9938c72..4098ccc548dc1 100644 --- a/mlir/lib/Target/LLVM/ModuleToObject.cpp +++ b/mlir/lib/Target/LLVM/ModuleToObject.cpp @@ -56,8 +56,9 @@ ModuleToObject::getOrCreateTargetMachine() { return targetMachine.get(); // Load the target. std::string error; + llvm::Triple parsedTriple(triple); const llvm::Target *target = - llvm::TargetRegistry::lookupTarget(triple, error); + llvm::TargetRegistry::lookupTarget(parsedTriple, error); if (!target) { getOperation().emitError() << "Failed to lookup target for triple '" << triple << "' " << error; @@ -65,8 +66,8 @@ ModuleToObject::getOrCreateTargetMachine() { } // Create the target machine using the target. - targetMachine.reset(target->createTargetMachine(llvm::Triple(triple), chip, - features, {}, {})); + targetMachine.reset( + target->createTargetMachine(parsedTriple, chip, features, {}, {})); if (!targetMachine) return std::nullopt; return targetMachine.get(); diff --git a/mlir/lib/Target/LLVM/ROCDL/Target.cpp b/mlir/lib/Target/LLVM/ROCDL/Target.cpp index c9888c39ac891..f813f8db8fc94 100644 --- a/mlir/lib/Target/LLVM/ROCDL/Target.cpp +++ b/mlir/lib/Target/LLVM/ROCDL/Target.cpp @@ -289,7 +289,7 @@ SerializeGPUModuleBase::assembleIsa(StringRef isa) { llvm::Triple triple(llvm::Triple::normalize(targetTriple)); std::string error; const llvm::Target *target = - llvm::TargetRegistry::lookupTarget(triple.normalize(), error); + llvm::TargetRegistry::lookupTarget(triple, error); if (!target) { emitError(loc, Twine("failed to lookup target: ") + error); return std::nullopt; diff --git a/mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp b/mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp index f1d36228bef1f..3f414b6dc3cfe 100644 --- a/mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp +++ b/mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp @@ -43,16 +43,17 @@ getTargetMachine(mlir::LLVM::TargetAttrInterface attr) { llvm::cast_if_present(attr.getFeatures()); std::string features = featuresAttr ? featuresAttr.getFeaturesString() : ""; + llvm::Triple parsedTriple(triple); std::string error; const llvm::Target *target = - llvm::TargetRegistry::lookupTarget(triple, error); + llvm::TargetRegistry::lookupTarget(parsedTriple, error); if (!target || !error.empty()) { LDBG() << "Looking up target '" << triple << "' failed: " << error << "\n"; return failure(); } - return std::unique_ptr(target->createTargetMachine( - llvm::Triple(triple), chipAKAcpu, features, {}, {})); + return std::unique_ptr( + target->createTargetMachine(parsedTriple, chipAKAcpu, features, {}, {})); } FailureOr