diff options
| author | Mehdi Amini <mehdi.amini@apple.com> | 2016-04-01 06:47:02 +0000 |
|---|---|---|
| committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-04-01 06:47:02 +0000 |
| commit | 43b657b5c7440c5b85b031732fb0281fdfa07560 (patch) | |
| tree | 33c772f218d1097746395b0d474299a4c18b6c4a /llvm/tools | |
| parent | f8b592f213816911adcd9c2e86a04d007ef3f6b1 (diff) | |
| download | bcm5719-llvm-43b657b5c7440c5b85b031732fb0281fdfa07560.tar.gz bcm5719-llvm-43b657b5c7440c5b85b031732fb0281fdfa07560.zip | |
Add a libLTO API to stop/restart ThinLTO between optimizations and CodeGen
This allows the linker to instruct ThinLTO to perform only the
optimization part or only the codegen part of the process.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 265113
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/lto/lto.cpp | 12 | ||||
| -rw-r--r-- | llvm/tools/lto/lto.exports | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp index 165b23da024..e22b198b3e1 100644 --- a/llvm/tools/lto/lto.cpp +++ b/llvm/tools/lto/lto.cpp @@ -473,6 +473,16 @@ LTOObjectBuffer thinlto_module_get_object(thinlto_code_gen_t cg, MemBuffer->getBufferSize()}; } +void thinlto_codegen_disable_codegen(thinlto_code_gen_t cg, + lto_bool_t disable) { + unwrap(cg)->disableCodeGen(disable); +} + +void thinlto_codegen_set_codegen_only(thinlto_code_gen_t cg, + lto_bool_t CodeGenOnly) { + unwrap(cg)->setCodeGenOnly(CodeGenOnly); +} + void thinlto_debug_options(const char *const *options, int number) { // if options were requested, set them if (number && options) { @@ -483,7 +493,7 @@ void thinlto_debug_options(const char *const *options, int number) { } } -bool lto_module_is_thinlto(lto_module_t mod) { +lto_bool_t lto_module_is_thinlto(lto_module_t mod) { return unwrap(mod)->isThinLTO(); } diff --git a/llvm/tools/lto/lto.exports b/llvm/tools/lto/lto.exports index e0df0ca0e4f..83a59437e81 100644 --- a/llvm/tools/lto/lto.exports +++ b/llvm/tools/lto/lto.exports @@ -61,4 +61,6 @@ thinlto_debug_options lto_module_is_thinlto thinlto_codegen_add_must_preserve_symbol thinlto_codegen_add_cross_referenced_symbol -thinlto_codegen_set_final_cache_size_relative_to_available_space
\ No newline at end of file +thinlto_codegen_set_final_cache_size_relative_to_available_space +thinlto_codegen_set_codegen_only +thinlto_codegen_disable_codegen
\ No newline at end of file |

