summaryrefslogtreecommitdiffstats
path: root/clang/examples/clang-interpreter
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-07-24 17:13:09 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-07-24 17:13:09 +0000
commite89d2891dd89684fd3cc4a02acc17e67e02b6ce9 (patch)
tree07a3dd96e1cfd7af52beb1aae34a1dd44a2bba16 /clang/examples/clang-interpreter
parent34610e33ae28f2268f8d9a6678d7b8f46376e788 (diff)
downloadbcm5719-llvm-e89d2891dd89684fd3cc4a02acc17e67e02b6ce9.tar.gz
bcm5719-llvm-e89d2891dd89684fd3cc4a02acc17e67e02b6ce9.zip
Use MCJIT.
llvm-svn: 213879
Diffstat (limited to 'clang/examples/clang-interpreter')
-rw-r--r--clang/examples/clang-interpreter/CMakeLists.txt2
-rw-r--r--clang/examples/clang-interpreter/main.cpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/clang/examples/clang-interpreter/CMakeLists.txt b/clang/examples/clang-interpreter/CMakeLists.txt
index 3c66881d026..74831ded02d 100644
--- a/clang/examples/clang-interpreter/CMakeLists.txt
+++ b/clang/examples/clang-interpreter/CMakeLists.txt
@@ -1,7 +1,7 @@
set(LLVM_LINK_COMPONENTS
Core
ExecutionEngine
- JIT
+ MCJIT
Support
native
)
diff --git a/clang/examples/clang-interpreter/main.cpp b/clang/examples/clang-interpreter/main.cpp
index 8278d28cf41..19f9f9c4a09 100644
--- a/clang/examples/clang-interpreter/main.cpp
+++ b/clang/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<llvm::ExecutionEngine> EE(createExecutionEngine(Mod, &Error));
@@ -70,6 +72,7 @@ static int Execute(llvm::Module *Mod, char * const *envp) {
std::vector<std::string> Args;
Args.push_back(Mod->getModuleIdentifier());
+ EE->finalizeObject();
return EE->runFunctionAsMain(EntryFn, Args, envp);
}
OpenPOWER on IntegriCloud