diff options
-rw-r--r-- | lld/COFF/LTO.cpp | 2 | ||||
-rw-r--r-- | lld/Common/TargetOptionsCommandFlags.cpp | 1 | ||||
-rw-r--r-- | lld/ELF/LTO.cpp | 1 | ||||
-rw-r--r-- | lld/include/lld/Common/TargetOptionsCommandFlags.h | 1 | ||||
-rw-r--r-- | lld/wasm/LTO.cpp | 1 |
5 files changed, 6 insertions, 0 deletions
diff --git a/lld/COFF/LTO.cpp b/lld/COFF/LTO.cpp index 93f7ba3f9e4..66ae7b1d228 100644 --- a/lld/COFF/LTO.cpp +++ b/lld/COFF/LTO.cpp @@ -60,6 +60,8 @@ static std::unique_ptr<lto::LTO> createLTO() { C.DisableVerify = true; C.DiagHandler = diagnosticHandler; C.OptLevel = Config->LTOO; + C.MAttrs = GetMAttrs(); + if (Config->SaveTemps) checkError(C.addSaveTemps(std::string(Config->OutputFile) + ".", /*UseInputModulePath*/ true)); diff --git a/lld/Common/TargetOptionsCommandFlags.cpp b/lld/Common/TargetOptionsCommandFlags.cpp index b46df363c36..7a3fc510704 100644 --- a/lld/Common/TargetOptionsCommandFlags.cpp +++ b/lld/Common/TargetOptionsCommandFlags.cpp @@ -32,3 +32,4 @@ llvm::Optional<llvm::CodeModel::Model> lld::GetCodeModelFromCMModel() { } std::string lld::GetCPUStr() { return ::getCPUStr(); } +std::vector<std::string> lld::GetMAttrs() { return ::MAttrs; } diff --git a/lld/ELF/LTO.cpp b/lld/ELF/LTO.cpp index e640106d460..c3e59b5b71e 100644 --- a/lld/ELF/LTO.cpp +++ b/lld/ELF/LTO.cpp @@ -88,6 +88,7 @@ static lto::Config createConfig() { C.DiagHandler = diagnosticHandler; C.OptLevel = Config->LTOO; C.CPU = GetCPUStr(); + C.MAttrs = GetMAttrs(); // Set up a custom pipeline if we've been asked to. C.OptPipeline = Config->LTONewPmPasses; diff --git a/lld/include/lld/Common/TargetOptionsCommandFlags.h b/lld/include/lld/Common/TargetOptionsCommandFlags.h index 8443b184aa7..2eaecb72759 100644 --- a/lld/include/lld/Common/TargetOptionsCommandFlags.h +++ b/lld/include/lld/Common/TargetOptionsCommandFlags.h @@ -19,4 +19,5 @@ namespace lld { llvm::TargetOptions InitTargetOptionsFromCodeGenFlags(); llvm::Optional<llvm::CodeModel::Model> GetCodeModelFromCMModel(); std::string GetCPUStr(); +std::vector<std::string> GetMAttrs(); } diff --git a/lld/wasm/LTO.cpp b/lld/wasm/LTO.cpp index 933607a0938..9bb21917e28 100644 --- a/lld/wasm/LTO.cpp +++ b/lld/wasm/LTO.cpp @@ -55,6 +55,7 @@ static std::unique_ptr<lto::LTO> createLTO() { C.DisableVerify = Config->DisableVerify; C.DiagHandler = diagnosticHandler; C.OptLevel = Config->LTOO; + C.MAttrs = GetMAttrs(); if (Config->SaveTemps) checkError(C.addSaveTemps(Config->OutputFile.str() + ".", |