aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-01-21 22:54:10 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-01-21 22:54:10 +0000
commitc0039e25a497d2aebf53eb61204ba5d72dd4fc0b (patch)
tree76c4d1d63e36acbe11ef0d7b1c5ecbb94b4286cd
parent61eec1573a0a51b464da8cb3e4e081cf02475fbe (diff)
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
-rw-r--r--include/llvm/ModuleProvider.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/llvm/ModuleProvider.h b/include/llvm/ModuleProvider.h
index 07b7ae3bab..a9422c2afb 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