diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2016-08-22 06:25:41 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-08-22 06:25:41 +0000 |
commit | d310b47c23024a8a9c46d5029984855404598369 (patch) | |
tree | a1cae6b345aeda2d287f07b42734ea3bdf3ac803 /llvm/lib/LTO/LTOBackend.cpp | |
parent | 189b871a62bec4b5e714b6d686126537b95b2b06 (diff) | |
download | bcm5719-llvm-d310b47c23024a8a9c46d5029984855404598369.tar.gz bcm5719-llvm-d310b47c23024a8a9c46d5029984855404598369.zip |
[LTO] Add a "CodeGenOnly" option. Allows the client to skip the optimizer.
Summary: Slowly getting on par with libLTO
Reviewers: tejohnson
Subscribers: llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D23615
llvm-svn: 279416
Diffstat (limited to 'llvm/lib/LTO/LTOBackend.cpp')
-rw-r--r-- | llvm/lib/LTO/LTOBackend.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/LTO/LTOBackend.cpp b/llvm/lib/LTO/LTOBackend.cpp index 935152b970d..a89364e46a0 100644 --- a/llvm/lib/LTO/LTOBackend.cpp +++ b/llvm/lib/LTO/LTOBackend.cpp @@ -224,8 +224,9 @@ Error lto::backend(Config &C, AddOutputFn AddOutput, std::unique_ptr<TargetMachine> TM = createTargetMachine(C, M->getTargetTriple(), *TOrErr); - if (!opt(C, TM.get(), 0, *M, /*IsThinLto=*/false)) - return Error(); + if (!C.CodeGenOnly) + if (!opt(C, TM.get(), 0, *M, /*IsThinLto=*/false)) + return Error(); if (ParallelCodeGenParallelismLevel == 1) codegen(C, TM.get(), AddOutput, 0, *M); @@ -247,6 +248,11 @@ Error lto::thinBackend(Config &Conf, unsigned Task, AddOutputFn AddOutput, std::unique_ptr<TargetMachine> TM = createTargetMachine(Conf, Mod.getTargetTriple(), *TOrErr); + if (Conf.CodeGenOnly) { + codegen(Conf, TM.get(), AddOutput, Task, Mod); + return Error(); + } + if (Conf.PreOptModuleHook && !Conf.PreOptModuleHook(Task, Mod)) return Error(); |