diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-05-05 20:57:58 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-05-05 20:57:58 +0000 |
commit | e93dc3be1b424da5cc8479abaacc73787b86c28e (patch) | |
tree | 64d352ebb59ad18b56dc6956892f4dec0d98f355 /llvm/examples/ExceptionDemo/ExceptionDemo.cpp | |
parent | fa5942bc2c870d63b02a936ab7e2ce5a5bace768 (diff) | |
download | llvm-e93dc3be1b424da5cc8479abaacc73787b86c28e.zip llvm-e93dc3be1b424da5cc8479abaacc73787b86c28e.tar.gz llvm-e93dc3be1b424da5cc8479abaacc73787b86c28e.tar.bz2 |
Port ExceptionDemo to MCJIT.
llvm-svn: 181168
Diffstat (limited to 'llvm/examples/ExceptionDemo/ExceptionDemo.cpp')
-rw-r--r-- | llvm/examples/ExceptionDemo/ExceptionDemo.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/examples/ExceptionDemo/ExceptionDemo.cpp b/llvm/examples/ExceptionDemo/ExceptionDemo.cpp index 0bd49a3..f9498a5 100644 --- a/llvm/examples/ExceptionDemo/ExceptionDemo.cpp +++ b/llvm/examples/ExceptionDemo/ExceptionDemo.cpp @@ -49,8 +49,8 @@ //===----------------------------------------------------------------------===// #include "llvm/Analysis/Verifier.h" -#include "llvm/ExecutionEngine/ExecutionEngine.h" -#include "llvm/ExecutionEngine/JIT.h" +#include "llvm/ExecutionEngine/MCJIT.h" +#include "llvm/ExecutionEngine/SectionMemoryManager.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/IRBuilder.h" @@ -1953,17 +1953,22 @@ int main(int argc, char *argv[]) { Opts.JITExceptionHandling = true; llvm::InitializeNativeTarget(); + llvm::InitializeNativeTargetAsmPrinter(); llvm::LLVMContext &context = llvm::getGlobalContext(); llvm::IRBuilder<> theBuilder(context); // Make the module, which holds all the code. llvm::Module *module = new llvm::Module("my cool jit", context); + llvm::JITMemoryManager *MemMgr = new llvm::SectionMemoryManager(); + // Build engine with JIT llvm::EngineBuilder factory(module); factory.setEngineKind(llvm::EngineKind::JIT); factory.setAllocateGVsWithCode(false); factory.setTargetOptions(Opts); + factory.setJITMemoryManager(MemMgr); + factory.setUseMCJIT(true); llvm::ExecutionEngine *executionEngine = factory.create(); { @@ -2007,6 +2012,8 @@ int main(int argc, char *argv[]) { fpm, "throwCppException"); + executionEngine->finalizeObject(); + fprintf(stderr, "\nBegin module dump:\n\n"); module->dump(); |