[llvm-commits] [llvm] r90186 - /llvm/trunk/examples/Fibonacci/fibonacci.cpp
Chris Lattner
sabre at nondot.org
Mon Nov 30 17:56:27 PST 2009
Author: lattner
Date: Mon Nov 30 19:56:27 2009
New Revision: 90186
URL: http://llvm.org/viewvc/llvm-project?rev=90186&view=rev
Log:
fix PR5649 by making fib use the JIT instead of the interpreter, patch by Perry Lorier!
Modified:
llvm/trunk/examples/Fibonacci/fibonacci.cpp
Modified: llvm/trunk/examples/Fibonacci/fibonacci.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/Fibonacci/fibonacci.cpp?rev=90186&r1=90185&r2=90186&view=diff
==============================================================================
--- llvm/trunk/examples/Fibonacci/fibonacci.cpp (original)
+++ llvm/trunk/examples/Fibonacci/fibonacci.cpp Mon Nov 30 19:56:27 2009
@@ -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 @@
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 @@
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)) {
More information about the llvm-commits
mailing list