From: Rafael Espindola Date: Thu, 24 Jul 2014 17:13:09 +0000 (+0000) Subject: Use MCJIT. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=26c5f1de0adc6edc443e9608a42b947ab82dd5af;p=clang Use MCJIT. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213879 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/examples/clang-interpreter/CMakeLists.txt b/examples/clang-interpreter/CMakeLists.txt index 3c66881d02..74831ded02 100644 --- a/examples/clang-interpreter/CMakeLists.txt +++ b/examples/clang-interpreter/CMakeLists.txt @@ -1,7 +1,7 @@ set(LLVM_LINK_COMPONENTS Core ExecutionEngine - JIT + MCJIT Support native ) diff --git a/examples/clang-interpreter/main.cpp b/examples/clang-interpreter/main.cpp index 8278d28cf4..19f9f9c4a0 100644 --- a/examples/clang-interpreter/main.cpp +++ b/examples/clang-interpreter/main.cpp @@ -18,7 +18,7 @@ #include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/ADT/SmallString.h" #include "llvm/ExecutionEngine/ExecutionEngine.h" -#include "llvm/ExecutionEngine/JIT.h" +#include "llvm/ExecutionEngine/MCJIT.h" #include "llvm/IR/Module.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Host.h" @@ -45,6 +45,7 @@ std::string GetExecutablePath(const char *Argv0) { static llvm::ExecutionEngine *createExecutionEngine(llvm::Module *M, std::string *ErrorStr) { llvm::EngineBuilder EB = llvm::EngineBuilder(M) + .setUseMCJIT(true) .setEngineKind(llvm::EngineKind::Either) .setErrorStr(ErrorStr); return EB.create(); @@ -52,6 +53,7 @@ static llvm::ExecutionEngine *createExecutionEngine(llvm::Module *M, static int Execute(llvm::Module *Mod, char * const *envp) { llvm::InitializeNativeTarget(); + llvm::InitializeNativeTargetAsmPrinter(); std::string Error; std::unique_ptr EE(createExecutionEngine(Mod, &Error)); @@ -70,6 +72,7 @@ static int Execute(llvm::Module *Mod, char * const *envp) { std::vector Args; Args.push_back(Mod->getModuleIdentifier()); + EE->finalizeObject(); return EE->runFunctionAsMain(EntryFn, Args, envp); }