Implement ModuleProvider::materializeModule() by only materializing functions
that are still left in the lazy reader map.
llvm-svn: 10944
diff --git a/llvm/lib/Bytecode/Reader/ReaderInternals.h b/llvm/lib/Bytecode/Reader/ReaderInternals.h
index f5ef3d9..ff28e25 100644
--- a/llvm/lib/Bytecode/Reader/ReaderInternals.h
+++ b/llvm/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();