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
diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp
index 165b23d..e22b198 100644
--- a/llvm/tools/lto/lto.cpp
+++ b/llvm/tools/lto/lto.cpp
@@ -473,6 +473,16 @@
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 @@
}
}
-bool lto_module_is_thinlto(lto_module_t mod) {
+lto_bool_t lto_module_is_thinlto(lto_module_t mod) {
return unwrap(mod)->isThinLTO();
}