From 8b5295b7bb8bf44f13df7fc8e38069d1218b1f94 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 21 Oct 2007 22:57:11 +0000 Subject: [PATCH] Add a convenience method for creating EE's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43206 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ExecutionEngine/ExecutionEngine.h | 8 +++++++- lib/ExecutionEngine/ExecutionEngine.cpp | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h index 2a2fb7cb8c4..da034a7cc2f 100644 --- a/include/llvm/ExecutionEngine/ExecutionEngine.h +++ b/include/llvm/ExecutionEngine/ExecutionEngine.h @@ -108,11 +108,17 @@ public: Function *FindFunctionNamed(const char *FnName); /// create - This is the factory method for creating an execution engine which - /// is appropriate for the current machine. + /// is appropriate for the current machine. This takes ownership of the + /// module provider. static ExecutionEngine *create(ModuleProvider *MP, bool ForceInterpreter = false, std::string *ErrorStr = 0); + /// create - This is the factory method for creating an execution engine which + /// is appropriate for the current machine. This takes ownership of the + /// module. + static ExecutionEngine *create(Module *M); + /// runFunction - Execute the specified function with the specified arguments, /// and return the result. /// diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 512c4520e07..192caa894ca 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -328,6 +328,10 @@ ExecutionEngine *ExecutionEngine::create(ModuleProvider *MP, return EE; } +ExecutionEngine *ExecutionEngine::create(Module *M) { + return create(new ExistingModuleProvider(M)); +} + /// getPointerToGlobal - This returns the address of the specified global /// value. This may involve code generation if it's a function. /// -- 2.34.1