summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Bitcode/Reader/MetadataLoader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/MetadataLoader.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index 1cfa1a82182..93212b0aa77 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -372,8 +372,14 @@ DistinctMDOperandPlaceholder &PlaceholderQueue::getPlaceholderOp(unsigned ID) {
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();
}
}
OpenPOWER on IntegriCloud