Skip to content

Commit e89d289

Browse files
committed
Use MCJIT.
llvm-svn: 213879
1 parent 34610e3 commit e89d289

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

clang/examples/clang-interpreter/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
set(LLVM_LINK_COMPONENTS
22
Core
33
ExecutionEngine
4-
JIT
4+
MCJIT
55
Support
66
native
77
)

clang/examples/clang-interpreter/main.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include "clang/Frontend/TextDiagnosticPrinter.h"
1919
#include "llvm/ADT/SmallString.h"
2020
#include "llvm/ExecutionEngine/ExecutionEngine.h"
21-
#include "llvm/ExecutionEngine/JIT.h"
21+
#include "llvm/ExecutionEngine/MCJIT.h"
2222
#include "llvm/IR/Module.h"
2323
#include "llvm/Support/FileSystem.h"
2424
#include "llvm/Support/Host.h"
@@ -45,13 +45,15 @@ std::string GetExecutablePath(const char *Argv0) {
4545
static llvm::ExecutionEngine *createExecutionEngine(llvm::Module *M,
4646
std::string *ErrorStr) {
4747
llvm::EngineBuilder EB = llvm::EngineBuilder(M)
48+
.setUseMCJIT(true)
4849
.setEngineKind(llvm::EngineKind::Either)
4950
.setErrorStr(ErrorStr);
5051
return EB.create();
5152
}
5253

5354
static int Execute(llvm::Module *Mod, char * const *envp) {
5455
llvm::InitializeNativeTarget();
56+
llvm::InitializeNativeTargetAsmPrinter();
5557

5658
std::string Error;
5759
std::unique_ptr<llvm::ExecutionEngine> EE(createExecutionEngine(Mod, &Error));
@@ -70,6 +72,7 @@ static int Execute(llvm::Module *Mod, char * const *envp) {
7072
std::vector<std::string> Args;
7173
Args.push_back(Mod->getModuleIdentifier());
7274

75+
EE->finalizeObject();
7376
return EE->runFunctionAsMain(EntryFn, Args, envp);
7477
}
7578

0 commit comments

Comments
 (0)