From: Misha Brukman Date: Wed, 21 Jan 2004 22:54:10 +0000 (+0000) Subject: To materialize a module, you need to know what functions NEED to be read and X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c0039e25a497d2aebf53eb61204ba5d72dd4fc0b;p=oota-llvm.git To materialize a module, you need to know what functions NEED to be read and which ones don't, which is state that the parent class doesn't know without knowing the implementation. Let the children classes implement materializeModule(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10942 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ModuleProvider.h b/include/llvm/ModuleProvider.h index 07b7ae3bab9..a9422c2afb0 100644 --- a/include/llvm/ModuleProvider.h +++ b/include/llvm/ModuleProvider.h @@ -41,7 +41,7 @@ public: /// materializeModule - make sure the entire Module has been completely read. /// - Module* materializeModule(); + virtual Module* materializeModule() = 0; /// releaseModule - no longer delete the Module* when provider is destroyed. /// @@ -64,6 +64,7 @@ struct ExistingModuleProvider : public ModuleProvider { TheModule = M; } void materializeFunction(Function *F) {} + Module* materializeModule() { return TheModule; } }; } // End llvm namespace