Now Bitcode reader bug is fixed. Reapply 80839.
[oota-llvm.git] / lib / VMCore / LLVMContext.cpp
index 1803a9a66664c511c6db2ce272fbd1066a41df64..0ed21fb754ed7435c1fda49ccce334d26f8fff4c 100644 (file)
@@ -13,6 +13,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/LLVMContext.h"
+#include "llvm/Metadata.h"
 #include "llvm/Constants.h"
 #include "llvm/Instruction.h"
 #include "llvm/Support/ManagedStatic.h"
@@ -48,10 +49,10 @@ bool LLVMContext::RemoveDeadMetadata() {
   bool Changed = false;
   while (1) {
 
-    for (SmallPtrSet<const MDNode *, 8>::iterator
-           I = pImpl->MDNodes.begin(),
-           E = pImpl->MDNodes.end(); I != E; ++I) {
-      const MDNode *N = cast<MDNode>(*I);
+    for (FoldingSet<MDNode>::iterator 
+           I = pImpl->MDNodeSet.begin(),
+           E = pImpl->MDNodeSet.end(); I != E; ++I) {
+      const MDNode *N = &(*I);
       if (N->use_empty()) 
         DeadMDNodes.push_back(N);
     }