From: Chris Lattner Date: Sun, 21 Oct 2007 22:57:11 +0000 (+0000) Subject: Add a convenience method for creating EE's. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=8b5295b7bb8bf44f13df7fc8e38069d1218b1f94;p=oota-llvm.git 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 --- 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. ///