MetadataLoader: Add an assertion for the implicit invariant of PlaceHolder while loading Metadata (NFC)

llvm-svn: 290408
diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index 1cfa1a8..93212b0 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -372,8 +372,14 @@
 
 void PlaceholderQueue::flush(BitcodeReaderMetadataList &MetadataList) {
   while (!PHs.empty()) {
-    PHs.front().replaceUseWith(
-        MetadataList.getMetadataFwdRef(PHs.front().getID()));
+    auto *MD = MetadataList.getMetadataFwdRef(PHs.front().getID());
+#ifndef NDEBUG
+    if (auto MDN = dyn_cast<MDNode>(MD)) {
+      assert(MDN->isResolved() &&
+             "Flushing Placeholder while cycles aren't resolved");
+    }
+#endif
+    PHs.front().replaceUseWith(MD);
     PHs.pop_front();
   }
 }