Skip to content

Commit 3a7da9a

Browse files
authored
LTO: Stop storing string triple (#157991)
1 parent 3fb9412 commit 3a7da9a

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ struct LTOCodeGenerator {
239239
std::string FeatureStr;
240240
std::string NativeObjectPath;
241241
const Target *MArch = nullptr;
242-
std::string TripleStr;
243242
lto_diagnostic_handler_t DiagHandler = nullptr;
244243
void *DiagContext = nullptr;
245244
bool ShouldInternalize = EnableLTOInternalization;

llvm/lib/LTO/LTOCodeGenerator.cpp

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -375,16 +375,12 @@ bool LTOCodeGenerator::determineTarget() {
375375
if (TargetMach)
376376
return true;
377377

378-
TripleStr = MergedModule->getTargetTriple().str();
379-
if (TripleStr.empty()) {
380-
TripleStr = sys::getDefaultTargetTriple();
381-
MergedModule->setTargetTriple(Triple(TripleStr));
382-
}
383-
llvm::Triple Triple(TripleStr);
378+
if (MergedModule->getTargetTriple().empty())
379+
MergedModule->setTargetTriple(Triple(sys::getDefaultTargetTriple()));
384380

385381
// create target machine from info for merged modules
386382
std::string ErrMsg;
387-
MArch = TargetRegistry::lookupTarget(Triple, ErrMsg);
383+
MArch = TargetRegistry::lookupTarget(MergedModule->getTargetTriple(), ErrMsg);
388384
if (!MArch) {
389385
emitError(ErrMsg);
390386
return false;
@@ -393,10 +389,10 @@ bool LTOCodeGenerator::determineTarget() {
393389
// Construct LTOModule, hand over ownership of module and target. Use MAttr as
394390
// the default set of features.
395391
SubtargetFeatures Features(join(Config.MAttrs, ""));
396-
Features.getDefaultSubtargetFeatures(Triple);
392+
Features.getDefaultSubtargetFeatures(MergedModule->getTargetTriple());
397393
FeatureStr = Features.getString();
398394
if (Config.CPU.empty())
399-
Config.CPU = lto::getThinLTODefaultCPU(Triple);
395+
Config.CPU = lto::getThinLTODefaultCPU(MergedModule->getTargetTriple());
400396

401397
// If data-sections is not explicitly set or unset, set data-sections by
402398
// default to match the behaviour of lld and gold plugin.
@@ -412,7 +408,7 @@ bool LTOCodeGenerator::determineTarget() {
412408
std::unique_ptr<TargetMachine> LTOCodeGenerator::createTargetMachine() {
413409
assert(MArch && "MArch is not set!");
414410
return std::unique_ptr<TargetMachine>(MArch->createTargetMachine(
415-
Triple(TripleStr), Config.CPU, FeatureStr, Config.Options,
411+
MergedModule->getTargetTriple(), Config.CPU, FeatureStr, Config.Options,
416412
Config.RelocModel, std::nullopt, Config.CGOptLevel));
417413
}
418414

0 commit comments

Comments
 (0)