aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-01-21 22:55:34 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-01-21 22:55:34 +0000
commitafca90e83234b1baf5bafba0e79b7ead0ffb67e8 (patch)
treed6d1597a4aa0ce517e0e12e5223eea7c6927f5fb
parentce218c6492de45bf466cbc55badc4b9978bb5530 (diff)
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
-rw-r--r--lib/Bytecode/Reader/ReaderInternals.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Bytecode/Reader/ReaderInternals.h b/lib/Bytecode/Reader/ReaderInternals.h
index f5ef3d90b6..ff28e25db6 100644
--- a/lib/Bytecode/Reader/ReaderInternals.h
+++ b/lib/Bytecode/Reader/ReaderInternals.h
@@ -55,6 +55,16 @@ public:
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();