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();