diff options
| -rw-r--r-- | llvm/examples/BrainF/BrainFDriver.cpp | 6 | ||||
| -rw-r--r-- | llvm/examples/BrainF/CMakeLists.txt | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/llvm/examples/BrainF/BrainFDriver.cpp b/llvm/examples/BrainF/BrainFDriver.cpp index 686f476cf46..57a86fbf521 100644 --- a/llvm/examples/BrainF/BrainFDriver.cpp +++ b/llvm/examples/BrainF/BrainFDriver.cpp @@ -29,6 +29,7 @@ #include "llvm/Bitcode/BitcodeWriter.h" #include "llvm/ExecutionEngine/ExecutionEngine.h" #include "llvm/ExecutionEngine/GenericValue.h" +#include "llvm/ExecutionEngine/MCJIT.h" #include "llvm/IR/BasicBlock.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DerivedTypes.h" @@ -153,10 +154,15 @@ int main(int argc, char **argv) { //Write it out if (JIT) { InitializeNativeTarget(); + InitializeNativeTargetAsmPrinter(); outs() << "------- Running JIT -------\n"; Module &M = *Mod; ExecutionEngine *ee = EngineBuilder(std::move(Mod)).create(); + if (!ee) { + errs() << "Error: execution engine creation failed.\n"; + abort(); + } std::vector<GenericValue> args; Function *brainf_func = M.getFunction("brainf"); GenericValue gv = ee->runFunction(brainf_func, args); diff --git a/llvm/examples/BrainF/CMakeLists.txt b/llvm/examples/BrainF/CMakeLists.txt index cf1cf1b6159..7b44b3a6275 100644 --- a/llvm/examples/BrainF/CMakeLists.txt +++ b/llvm/examples/BrainF/CMakeLists.txt @@ -3,6 +3,7 @@ set(LLVM_LINK_COMPONENTS Core ExecutionEngine MC + MCJIT Support nativecodegen ) |

