Implement ModuleProvider::materializeModule() by only materializing functions
that are still left in the lazy reader map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10944 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Reader/ReaderInternals.h b/lib/Bytecode/Reader/ReaderInternals.h
index f5ef3d9..ff28e25 100644
--- a/lib/Bytecode/Reader/ReaderInternals.h
+++ b/lib/Bytecode/Reader/ReaderInternals.h
@@ -55,6 +55,16 @@
     freeTable(ModuleValues);
   }
 
+  Module* materializeModule() {
+    while (! LazyFunctionLoadMap.empty()) {
+      std::map<Function*, LazyFunctionInfo>::iterator i = 
+        LazyFunctionLoadMap.begin();
+      materializeFunction((*i).first);
+    }
+
+    return TheModule;
+  }
+
   Module* releaseModule() {
     // Since we're losing control of this Module, we must hand it back complete
     Module *M = ModuleProvider::releaseModule();