summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/JIT/JIT.h
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2009-01-23 19:27:28 +0000
committerNate Begeman <natebegeman@mac.com>2009-01-23 19:27:28 +0000
commit617001d84279f075a09e236f7002d58572c1192b (patch)
tree65008251f32b277a587fa61ecb87cac7c1581564 /llvm/lib/ExecutionEngine/JIT/JIT.h
parentdd7aa3789576b484e3ae7e5fd0ba53984b5ce000 (diff)
downloadbcm5719-llvm-617001d84279f075a09e236f7002d58572c1192b.tar.gz
bcm5719-llvm-617001d84279f075a09e236f7002d58572c1192b.zip
Add support for deleting a module provider from a JIT in such a way that it does not cause the owned module to be fully materialized.
llvm-svn: 62864
Diffstat (limited to 'llvm/lib/ExecutionEngine/JIT/JIT.h')
-rw-r--r--llvm/lib/ExecutionEngine/JIT/JIT.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JIT.h b/llvm/lib/ExecutionEngine/JIT/JIT.h
index b9299996033..7c085e360e2 100644
--- a/llvm/lib/ExecutionEngine/JIT/JIT.h
+++ b/llvm/lib/ExecutionEngine/JIT/JIT.h
@@ -77,9 +77,18 @@ public:
}
virtual void addModuleProvider(ModuleProvider *MP);
+
+ /// removeModuleProvider - Remove a ModuleProvider from the list of modules.
+ /// Relases the Module from the ModuleProvider, materializing it in the
+ /// process, and returns the materialized Module.
virtual Module *removeModuleProvider(ModuleProvider *MP,
std::string *ErrInfo = 0);
+ /// deleteModuleProvider - Remove a ModuleProvider from the list of modules,
+ /// and deletes the ModuleProvider and owned Module. Avoids materializing
+ /// the underlying module.
+ virtual void deleteModuleProvider(ModuleProvider *P,std::string *ErrInfo = 0);
+
/// runFunction - Start execution with the specified function and arguments.
///
virtual GenericValue runFunction(Function *F,
OpenPOWER on IntegriCloud