diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-01 01:56:27 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-01 01:56:27 +0000 |
commit | 18f0c677faaca54974333f2e7e353e94280628ab (patch) | |
tree | 207b8381a9addf7c2cc7e15d63e709bdfc122311 /examples/Fibonacci | |
parent | 0488ecdd166a18a2f40ec3bc6d2924469a3f45ab (diff) |
fix PR5649 by making fib use the JIT instead of the interpreter, patch by Perry Lorier!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90186 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'examples/Fibonacci')
-rw-r--r-- | examples/Fibonacci/fibonacci.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/examples/Fibonacci/fibonacci.cpp b/examples/Fibonacci/fibonacci.cpp index b1a4691a9f..077cdd0f5d 100644 --- a/examples/Fibonacci/fibonacci.cpp +++ b/examples/Fibonacci/fibonacci.cpp @@ -34,6 +34,7 @@ #include "llvm/ExecutionEngine/Interpreter.h" #include "llvm/ExecutionEngine/GenericValue.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/Target/TargetSelect.h" using namespace llvm; static Function *CreateFibFunction(Module *M, LLVMContext &Context) { @@ -92,6 +93,7 @@ static Function *CreateFibFunction(Module *M, LLVMContext &Context) { int main(int argc, char **argv) { int n = argc > 1 ? atol(argv[1]) : 24; + InitializeNativeTarget(); LLVMContext Context; // Create some module to put our function into it. @@ -101,7 +103,13 @@ int main(int argc, char **argv) { Function *FibF = CreateFibFunction(M, Context); // Now we going to create JIT - ExecutionEngine *EE = EngineBuilder(M).create(); + std::string errStr; + ExecutionEngine *EE = EngineBuilder(M).setErrorStr(&errStr).setEngineKind(EngineKind::JIT).create(); + + if (!EE) { + errs() << argv[0] << ": Failed to construct ExecutionEngine: " << errStr << "\n"; + return 1; + } errs() << "verifying... "; if (verifyModule(*M)) { |