Skip to content

Commit f137c3d

Browse files
authored
[TargetRegistry] Accept Triple in createTargetMachine() (NFC) (#130940)
This avoids doing a Triple -> std::string -> Triple round trip in lots of places, now that the Module stores a Triple.
1 parent 71582c6 commit f137c3d

File tree

62 files changed

+134
-120
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+134
-120
lines changed

bolt/lib/Passes/AsmDump.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ void dumpFunction(const BinaryFunction &BF) {
143143
std::move(MCEInstance.MCE), std::move(MAB)));
144144
AsmStreamer->initSections(true, *BC.STI);
145145
std::unique_ptr<TargetMachine> TM(BC.TheTarget->createTargetMachine(
146-
BC.TripleName, "", "", TargetOptions(), std::nullopt));
146+
*BC.TheTriple, "", "", TargetOptions(), std::nullopt));
147147
std::unique_ptr<AsmPrinter> MAP(
148148
BC.TheTarget->createAsmPrinter(*TM, std::move(AsmStreamer)));
149149

clang/lib/CodeGen/BackendUtil.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) {
595595
void EmitAssemblyHelper::CreateTargetMachine(bool MustCreateTM) {
596596
// Create the TargetMachine for generating code.
597597
std::string Error;
598-
std::string Triple = TheModule->getTargetTriple().str();
598+
const llvm::Triple &Triple = TheModule->getTargetTriple();
599599
const llvm::Target *TheTarget = TargetRegistry::lookupTarget(Triple, Error);
600600
if (!TheTarget) {
601601
if (MustCreateTM)

clang/lib/Interpreter/DeviceOffload.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ llvm::Expected<llvm::StringRef> IncrementalCUDADeviceParser::GeneratePTX() {
8383
std::error_code());
8484
llvm::TargetOptions TO = llvm::TargetOptions();
8585
llvm::TargetMachine *TargetMachine = Target->createTargetMachine(
86-
PTU.TheModule->getTargetTriple().str(), TargetOpts.CPU, "", TO,
86+
PTU.TheModule->getTargetTriple(), TargetOpts.CPU, "", TO,
8787
llvm::Reloc::Model::PIC_);
8888
PTU.TheModule->setDataLayout(TargetMachine->createDataLayout());
8989

clang/lib/Interpreter/Wasm.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,8 @@ llvm::Error WasmIncrementalExecutor::addModule(PartialTranslationUnit &PTU) {
7373
}
7474

7575
llvm::TargetOptions TO = llvm::TargetOptions();
76-
llvm::TargetMachine *TargetMachine =
77-
Target->createTargetMachine(PTU.TheModule->getTargetTriple().str(), "",
78-
"", TO, llvm::Reloc::Model::PIC_);
76+
llvm::TargetMachine *TargetMachine = Target->createTargetMachine(
77+
PTU.TheModule->getTargetTriple(), "", "", TO, llvm::Reloc::Model::PIC_);
7978
PTU.TheModule->setDataLayout(TargetMachine->createDataLayout());
8079
std::string ObjectFileName = PTU.TheModule->getName().str() + ".o";
8180
std::string BinaryFileName = PTU.TheModule->getName().str() + ".wasm";

clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ static std::string OptLLVM(const std::string &IR, CodeGenOptLevel OLvl) {
127127
ErrorAndExit(E);
128128

129129
std::unique_ptr<TargetMachine> TM(TheTarget->createTargetMachine(
130-
M->getTargetTriple().str(), codegen::getCPUStr(),
131-
codegen::getFeaturesStr(), Options, codegen::getExplicitRelocModel(),
130+
M->getTargetTriple(), codegen::getCPUStr(), codegen::getFeaturesStr(),
131+
Options, codegen::getExplicitRelocModel(),
132132
codegen::getExplicitCodeModel(), OLvl));
133133
if (!TM)
134134
ErrorAndExit("Could not create target machine");

clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ Expected<StringRef> compileModule(Module &M, OffloadKind Kind) {
637637
StringRef CPU = "";
638638
StringRef Features = "";
639639
std::unique_ptr<TargetMachine> TM(
640-
T->createTargetMachine(M.getTargetTriple().str(), CPU, Features, Options,
640+
T->createTargetMachine(M.getTargetTriple(), CPU, Features, Options,
641641
Reloc::PIC_, M.getCodeModel()));
642642

643643
if (M.getDataLayout().isDefault())

clang/tools/driver/cc1_main.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,10 @@ static void ensureSufficientStack() {}
111111

112112
/// Print supported cpus of the given target.
113113
static int PrintSupportedCPUs(std::string TargetStr) {
114+
llvm::Triple Triple(TargetStr);
114115
std::string Error;
115116
const llvm::Target *TheTarget =
116-
llvm::TargetRegistry::lookupTarget(TargetStr, Error);
117+
llvm::TargetRegistry::lookupTarget(Triple, Error);
117118
if (!TheTarget) {
118119
llvm::errs() << Error;
119120
return 1;
@@ -122,23 +123,24 @@ static int PrintSupportedCPUs(std::string TargetStr) {
122123
// the target machine will handle the mcpu printing
123124
llvm::TargetOptions Options;
124125
std::unique_ptr<llvm::TargetMachine> TheTargetMachine(
125-
TheTarget->createTargetMachine(TargetStr, "", "+cpuhelp", Options,
126+
TheTarget->createTargetMachine(Triple, "", "+cpuhelp", Options,
126127
std::nullopt));
127128
return 0;
128129
}
129130

130131
static int PrintSupportedExtensions(std::string TargetStr) {
132+
llvm::Triple Triple(TargetStr);
131133
std::string Error;
132134
const llvm::Target *TheTarget =
133-
llvm::TargetRegistry::lookupTarget(TargetStr, Error);
135+
llvm::TargetRegistry::lookupTarget(Triple, Error);
134136
if (!TheTarget) {
135137
llvm::errs() << Error;
136138
return 1;
137139
}
138140

139141
llvm::TargetOptions Options;
140142
std::unique_ptr<llvm::TargetMachine> TheTargetMachine(
141-
TheTarget->createTargetMachine(TargetStr, "", "", Options, std::nullopt));
143+
TheTarget->createTargetMachine(Triple, "", "", Options, std::nullopt));
142144
const llvm::Triple &MachineTriple = TheTargetMachine->getTargetTriple();
143145
const llvm::MCSubtargetInfo *MCInfo = TheTargetMachine->getMCSubtargetInfo();
144146
const llvm::ArrayRef<llvm::SubtargetFeatureKV> Features =
@@ -165,9 +167,10 @@ static int PrintSupportedExtensions(std::string TargetStr) {
165167
}
166168

167169
static int PrintEnabledExtensions(const TargetOptions& TargetOpts) {
170+
llvm::Triple Triple(TargetOpts.Triple);
168171
std::string Error;
169172
const llvm::Target *TheTarget =
170-
llvm::TargetRegistry::lookupTarget(TargetOpts.Triple, Error);
173+
llvm::TargetRegistry::lookupTarget(Triple, Error);
171174
if (!TheTarget) {
172175
llvm::errs() << Error;
173176
return 1;
@@ -179,7 +182,8 @@ static int PrintEnabledExtensions(const TargetOptions& TargetOpts) {
179182
llvm::TargetOptions BackendOptions;
180183
std::string FeaturesStr = llvm::join(TargetOpts.FeaturesAsWritten, ",");
181184
std::unique_ptr<llvm::TargetMachine> TheTargetMachine(
182-
TheTarget->createTargetMachine(TargetOpts.Triple, TargetOpts.CPU, FeaturesStr, BackendOptions, std::nullopt));
185+
TheTarget->createTargetMachine(Triple, TargetOpts.CPU, FeaturesStr,
186+
BackendOptions, std::nullopt));
183187
const llvm::Triple &MachineTriple = TheTargetMachine->getTargetTriple();
184188
const llvm::MCSubtargetInfo *MCInfo = TheTargetMachine->getMCSubtargetInfo();
185189

flang/tools/bbc/bbc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ createTargetMachine(llvm::StringRef targetTriple, std::string &error) {
280280
if (!theTarget)
281281
return nullptr;
282282
return std::unique_ptr<llvm::TargetMachine>{
283-
theTarget->createTargetMachine(triple, /*CPU=*/"",
283+
theTarget->createTargetMachine(llvm::Triple(triple), /*CPU=*/"",
284284
/*Features=*/"", llvm::TargetOptions(),
285285
/*Reloc::Model=*/std::nullopt)};
286286
}

flang/tools/flang-driver/fc1_main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ static int printSupportedCPUs(llvm::StringRef triple) {
4545
// the target machine will handle the mcpu printing
4646
llvm::TargetOptions targetOpts;
4747
std::unique_ptr<llvm::TargetMachine> targetMachine(
48-
target->createTargetMachine(triple, "", "+cpuhelp", targetOpts,
49-
std::nullopt));
48+
target->createTargetMachine(llvm::Triple(triple), "", "+cpuhelp",
49+
targetOpts, std::nullopt));
5050
return 0;
5151
}
5252

llvm/examples/Kaleidoscope/Chapter8/toy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,7 @@ int main() {
12431243

12441244
TargetOptions opt;
12451245
auto TheTargetMachine = Target->createTargetMachine(
1246-
TargetTriple, CPU, Features, opt, Reloc::PIC_);
1246+
Triple(TargetTriple), CPU, Features, opt, Reloc::PIC_);
12471247

12481248
TheModule->setDataLayout(TheTargetMachine->createDataLayout());
12491249

0 commit comments

Comments
 (0)