diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 4f0e3388d58..d5a5afa0c40 100644 --- a/lib/IR/Verifier.cpp +++ b/lib/IR/Verifier.cpp @@ -111,6 +111,13 @@ private: OS << '\n'; } + void Write(const NamedMDNode *NMD) { + if (!NMD) + return; + NMD->print(OS); + OS << '\n'; + } + void Write(Type *T) { if (!T) return; @@ -562,6 +569,10 @@ void Verifier::visitNamedMDNode(const NamedMDNode &NMD) { if (!MD) continue; + if (NMD.getName() == "llvm.dbg.cu") { + Assert(isa(MD), "invalid compile unit", &NMD, MD); + } + visitMDNode(*MD); } }