Index: Common/TargetOptionsCommandFlags.cpp =================================================================== --- Common/TargetOptionsCommandFlags.cpp +++ Common/TargetOptionsCommandFlags.cpp @@ -30,3 +30,7 @@ llvm::Optional lld::GetCodeModelFromCMModel() { return getCodeModel(); } + +std::string lld::GetCPUStr() { + return ::getCPUStr(); +} Index: ELF/LTO.cpp =================================================================== --- ELF/LTO.cpp +++ ELF/LTO.cpp @@ -87,6 +87,7 @@ Conf.DisableVerify = Config->DisableVerify; Conf.DiagHandler = diagnosticHandler; Conf.OptLevel = Config->LTOO; + Conf.CPU = GetCPUStr(); // Set up a custom pipeline if we've been asked to. Conf.OptPipeline = Config->LTONewPmPasses; Index: include/lld/Common/TargetOptionsCommandFlags.h =================================================================== --- include/lld/Common/TargetOptionsCommandFlags.h +++ include/lld/Common/TargetOptionsCommandFlags.h @@ -18,4 +18,5 @@ namespace lld { llvm::TargetOptions InitTargetOptionsFromCodeGenFlags(); llvm::Optional GetCodeModelFromCMModel(); +std::string GetCPUStr(); }