Skip to content

Commit 7141e73

Browse files
Print LLVM module when verification fails (#50566)
1 parent 1964621 commit 7141e73

17 files changed

+57
-26
lines changed

src/aotcompile.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,7 @@ static AOTOutputs add_output_impl(Module &M, TargetMachine &SourceTM, ShardTimer
984984
if (!opt && !obj && !asm_) {
985985
return out;
986986
}
987-
assert(!verifyModule(M, &errs()));
987+
assert(!verifyLLVMIR(M));
988988

989989
timers.optimize.startTimer();
990990

@@ -1007,7 +1007,7 @@ static AOTOutputs add_output_impl(Module &M, TargetMachine &SourceTM, ShardTimer
10071007
NewPM optimizer{std::move(PMTM), getOptLevel(jl_options.opt_level), OptimizationOptions::defaults(true, true)};
10081008
#endif
10091009
optimizer.run(M);
1010-
assert(!verifyModule(M, &errs()));
1010+
assert(!verifyLLVMIR(M));
10111011
bool inject_aliases = false;
10121012
for (auto &F : M.functions()) {
10131013
if (!F.isDeclaration() && F.getName() != "_DllMainCRTStartup") {
@@ -1077,7 +1077,7 @@ static AOTOutputs add_output_impl(Module &M, TargetMachine &SourceTM, ShardTimer
10771077

10781078
// serialize module to bitcode
10791079
static auto serializeModule(const Module &M) {
1080-
assert(!verifyModule(M, &errs()) && "Serializing invalid module!");
1080+
assert(!verifyLLVMIR(M) && "Serializing invalid module!");
10811081
SmallVector<char, 0> ClonedModuleBuffer;
10821082
BitcodeWriter BCWriter(ClonedModuleBuffer);
10831083
BCWriter.writeModule(M);
@@ -2108,7 +2108,7 @@ void jl_get_llvmf_defn_impl(jl_llvmf_dump_t* dump, jl_method_instance_t *mi, siz
21082108
// and will better match what's actually in sysimg.
21092109
for (auto &global : output.globals)
21102110
global.second->setLinkage(GlobalValue::ExternalLinkage);
2111-
assert(!verifyModule(*m.getModuleUnlocked(), &errs()));
2111+
assert(!verifyLLVMIR(*m.getModuleUnlocked()));
21122112
if (optimize) {
21132113
#ifndef JL_USE_NEW_PM
21142114
legacy::PassManager PM;
@@ -2120,7 +2120,7 @@ void jl_get_llvmf_defn_impl(jl_llvmf_dump_t* dump, jl_method_instance_t *mi, siz
21202120
#endif
21212121
//Safe b/c context lock is held by output
21222122
PM.run(*m.getModuleUnlocked());
2123-
assert(!verifyModule(*m.getModuleUnlocked(), &errs()));
2123+
assert(!verifyLLVMIR(*m.getModuleUnlocked()));
21242124
}
21252125
const std::string *fname;
21262126
if (decls.functionObject == "jl_fptr_args" || decls.functionObject == "jl_fptr_sparam")

src/jitlayers.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,9 +1217,9 @@ namespace {
12171217
JL_TIMING(LLVM_OPT, LLVM_OPT);
12181218

12191219
//Run the optimization
1220-
assert(!verifyModule(M, &errs()));
1220+
assert(!verifyLLVMIR(M));
12211221
(***PMs).run(M);
1222-
assert(!verifyModule(M, &errs()));
1222+
assert(!verifyLLVMIR(M));
12231223

12241224
uint64_t end_time = 0;
12251225
{

src/llvm-alloc-opt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1247,7 +1247,7 @@ bool AllocOpt::runOnFunction(Function &F, function_ref<DominatorTree&()> GetDT)
12471247
optimizer.optimizeAll();
12481248
bool modified = optimizer.finalize();
12491249
#ifdef JL_VERIFY_PASSES
1250-
assert(!verifyFunction(F, &errs()));
1250+
assert(!verifyLLVMIR(F));
12511251
#endif
12521252
return modified;
12531253
}

src/llvm-cpufeatures.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ bool lowerCPUFeatures(Module &M) JL_NOTSAFEPOINT
110110
I->eraseFromParent();
111111
}
112112
#ifdef JL_VERIFY_PASSES
113-
assert(!verifyModule(M, &errs()));
113+
assert(!verifyLLVMIR(M));
114114
#endif
115115
return true;
116116
} else {

src/llvm-demote-float16.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ static bool demoteFloat16(Function &F)
184184
for (auto V : erase)
185185
V->eraseFromParent();
186186
#ifdef JL_VERIFY_PASSES
187-
assert(!verifyFunction(F, &errs()));
187+
assert(!verifyLLVMIR(F));
188188
#endif
189189
return true;
190190
}

src/llvm-final-gc-lowering.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ bool FinalLowerGCLegacy::doInitialization(Module &M) {
396396
bool FinalLowerGCLegacy::doFinalization(Module &M) {
397397
auto ret = finalLowerGC.doFinalization(M);
398398
#ifdef JL_VERIFY_PASSES
399-
assert(!verifyModule(M, &errs()));
399+
assert(!verifyLLVMIR(M));
400400
#endif
401401
return ret;
402402
}
@@ -414,7 +414,7 @@ PreservedAnalyses FinalLowerGCPass::run(Module &M, ModuleAnalysisManager &AM)
414414
}
415415
modified |= finalLowerGC.doFinalization(M);
416416
#ifdef JL_VERIFY_PASSES
417-
assert(!verifyModule(M, &errs()));
417+
assert(!verifyLLVMIR(M));
418418
#endif
419419
if (modified) {
420420
return PreservedAnalyses::allInSet<CFGAnalyses>();

src/llvm-julia-licm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ struct JuliaLICM : public JuliaPassContext {
358358
SE->forgetLoopDispositions(L);
359359
}
360360
#ifdef JL_VERIFY_PASSES
361-
assert(!verifyFunction(*L->getHeader()->getParent(), &errs()));
361+
assert(!verifyLLVMIR(*L));
362362
#endif
363363
return changed;
364364
}

src/llvm-late-gc-lowering.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2772,7 +2772,7 @@ bool LateLowerGCFrameLegacy::runOnFunction(Function &F) {
27722772
auto lateLowerGCFrame = LateLowerGCFrame(GetDT);
27732773
bool modified = lateLowerGCFrame.runOnFunction(F);
27742774
#ifdef JL_VERIFY_PASSES
2775-
assert(!verifyFunction(F, &errs()));
2775+
assert(!verifyLLVMIR(F));
27762776
#endif
27772777
return modified;
27782778
}
@@ -2786,7 +2786,7 @@ PreservedAnalyses LateLowerGCPass::run(Function &F, FunctionAnalysisManager &AM)
27862786
bool CFGModified = false;
27872787
bool modified = lateLowerGCFrame.runOnFunction(F, &CFGModified);
27882788
#ifdef JL_VERIFY_PASSES
2789-
assert(!verifyFunction(F, &errs()));
2789+
assert(!verifyLLVMIR(F));
27902790
#endif
27912791
if (modified) {
27922792
if (CFGModified) {

src/llvm-lower-handlers.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ PreservedAnalyses LowerExcHandlersPass::run(Function &F, FunctionAnalysisManager
240240
{
241241
bool modified = lowerExcHandlers(F);
242242
#ifdef JL_VERIFY_PASSES
243-
assert(!verifyFunction(F, &errs()));
243+
assert(!verifyLLVMIR(F));
244244
#endif
245245
if (modified) {
246246
return PreservedAnalyses::allInSet<CFGAnalyses>();
@@ -256,7 +256,7 @@ struct LowerExcHandlersLegacy : public FunctionPass {
256256
bool runOnFunction(Function &F) {
257257
bool modified = lowerExcHandlers(F);
258258
#ifdef JL_VERIFY_PASSES
259-
assert(!verifyFunction(F, &errs()));
259+
assert(!verifyLLVMIR(F));
260260
#endif
261261
return modified;
262262
}

src/llvm-muladd.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ static bool combineMulAdd(Function &F) JL_NOTSAFEPOINT
104104
}
105105
}
106106
#ifdef JL_VERIFY_PASSES
107-
assert(!verifyFunction(F, &errs()));
107+
assert(!verifyLLVMIR(F));
108108
#endif
109109
return modified;
110110
}

0 commit comments

Comments
 (0)