diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp index c57435e284a6..9489f8d699b5 100644 --- a/llvm/lib/Transforms/IPO/FunctionImport.cpp +++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp @@ -697,6 +697,14 @@ Expected FunctionImporter::importFunctions( } } +#ifndef DEBUG + // Note: this can't be done after `renameModuleForThinLTO` as it leaves the + // module in a state that does not pass the verifier (for example aliases + // pointing to available_externally functions). + if (verifyModule(*SrcModule, &errs())) + report_fatal_error("Invalid lazy-loaded source module for importing"); +#endif + // Link in the specified functions. if (renameModuleForThinLTO(*SrcModule, Index, &GlobalsToImport)) return true;