diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2004-01-21 22:55:34 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2004-01-21 22:55:34 +0000 |
commit | afca90e83234b1baf5bafba0e79b7ead0ffb67e8 (patch) | |
tree | d6d1597a4aa0ce517e0e12e5223eea7c6927f5fb | |
parent | ce218c6492de45bf466cbc55badc4b9978bb5530 (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.h | 10 |
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(); |