diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index e0de179e57146fe..8d20f344db2552e 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -2674,6 +2674,11 @@ void Verifier::visitFunction(const Function &F) { Check(verifyAttributeCount(Attrs, FT->getNumParams()), "Attribute after last parameter!", &F); + CheckDI(F.IsNewDbgInfoFormat == F.getParent()->IsNewDbgInfoFormat, + "Function debug format should match parent module", &F, + F.IsNewDbgInfoFormat, F.getParent(), + F.getParent()->IsNewDbgInfoFormat); + bool IsIntrinsic = F.isIntrinsic(); // Check function attributes. @@ -3017,6 +3022,11 @@ void Verifier::visitBasicBlock(BasicBlock &BB) { Check(I.getParent() == &BB, "Instruction has bogus parent pointer!"); } + CheckDI(BB.IsNewDbgInfoFormat == BB.getParent()->IsNewDbgInfoFormat, + "BB debug format should match parent function", &BB, + BB.IsNewDbgInfoFormat, BB.getParent(), + BB.getParent()->IsNewDbgInfoFormat); + // Confirm that no issues arise from the debug program. if (BB.IsNewDbgInfoFormat) CheckDI(!BB.getTrailingDPValues(), "Basic Block has trailing DbgRecords!",