Reapply "LTO: Disable extra verify runs in release builds"
This reverts commit r247730, effectively reapplying r247729. This time
I have an lld commit ready to follow.
llvm-svn: 247735
diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp
index 8f62929..6267508 100644
--- a/llvm/tools/lto/lto.cpp
+++ b/llvm/tools/lto/lto.cpp
@@ -43,6 +43,16 @@
DisableLTOVectorization("disable-lto-vectorization", cl::init(false),
cl::desc("Do not run loop or slp vectorization during LTO"));
+#ifdef NDEBUG
+static bool VerifyByDefault = false;
+#else
+static bool VerifyByDefault = true;
+#endif
+
+static cl::opt<bool> DisableVerify(
+ "disable-llvm-verifier", cl::init(!VerifyByDefault),
+ cl::desc("Don't run the LLVM verifier during the optimization pipeline"));
+
// Holds most recent error string.
// *** Not thread safe ***
static std::string sLastErrorString;
@@ -321,8 +331,9 @@
const void *lto_codegen_compile(lto_code_gen_t cg, size_t *length) {
maybeParseOptions(cg);
LibLTOCodeGenerator *CG = unwrap(cg);
- CG->NativeObjectFile = CG->compile(DisableInline, DisableGVNLoadPRE,
- DisableLTOVectorization, sLastErrorString);
+ CG->NativeObjectFile =
+ CG->compile(DisableVerify, DisableInline, DisableGVNLoadPRE,
+ DisableLTOVectorization, sLastErrorString);
if (!CG->NativeObjectFile)
return nullptr;
*length = CG->NativeObjectFile->getBufferSize();
@@ -331,9 +342,8 @@
bool lto_codegen_optimize(lto_code_gen_t cg) {
maybeParseOptions(cg);
- return !unwrap(cg)->optimize(DisableInline,
- DisableGVNLoadPRE, DisableLTOVectorization,
- sLastErrorString);
+ return !unwrap(cg)->optimize(DisableVerify, DisableInline, DisableGVNLoadPRE,
+ DisableLTOVectorization, sLastErrorString);
}
const void *lto_codegen_compile_optimized(lto_code_gen_t cg, size_t *length) {
@@ -349,7 +359,7 @@
bool lto_codegen_compile_to_file(lto_code_gen_t cg, const char **name) {
maybeParseOptions(cg);
return !unwrap(cg)->compile_to_file(
- name, DisableInline, DisableGVNLoadPRE,
+ name, DisableVerify, DisableInline, DisableGVNLoadPRE,
DisableLTOVectorization, sLastErrorString);
}