search for: fibx1

Displaying 9 results from an estimated 9 matches for "fibx1".

2005 May 12
2
[LLVMdev] Scheme + LLVM JIT
...* fib_function = "int %fib (int %AnArg) {" " EntryBlock: " " %cond = setle int AnArg, 2" " branch bool %cond, label return, label recur" " return:" " ret int 1" " recur:" " %sub1 = sub int %AnArg, 1" " %fibx1 = call tail int %fib (int %sub1) " " %sub2 = sub int %AnArg, 2" " %fibx2 = call tail int %fib (int %sub2) " " %result = add int %fibx1, %fibx2" " ret int %result" "}"; void * M = llvm_make_module_from_text (program, "test") ;...
2012 Feb 09
1
[LLVMdev] Difficulty inserting putchar in IR
...wing proper output. Function *putchar_func = cast<Function>(M-> getOrInsertFunction("putchar", IntegerType::getInt32Ty(Context), IntegerType::getInt32Ty(Context), NULL)); Value *One = ConstantInt::get(Type::getInt32Ty(Context), 1); CallInst *CallFibX1 = CallInst::Create(putchar_func, One, "fibx1", BB); CallFibX1->setTailCall(); Thanks and Regards, Tarun Agrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120210/9bcd728b/attachment.htm...
2010 Apr 29
2
[LLVMdev] Why the same code is much slower in JIT compared to separate executable?
...; <i1> [#uses=1] br i1 %cond, label %return, label %recurse return: ; preds = %EntryBlock ret i32 1 recurse: ; preds = %EntryBlock %arg = sub i32 %AnArg, 1 ; <i32> [#uses=1] %fibx1 = tail call i32 @fib(i32 %arg) ; <i32> [#uses=1] %arg1 = sub i32 %AnArg, 2 ; <i32> [#uses=1] %fibx2 = tail call i32 @fib(i32 %arg1) ; <i32> [#uses=1] %addresult = add i32 %fibx1, %fibx2 ; <i32> [#uses=1] ret i32 %addre...
2005 May 10
0
[LLVMdev] Scheme + LLVM JIT
On Thu, 5 May 2005, Alexander Friedman wrote: >>> Does there happen to be a C interface to the jit ? Our scheme impl >>> has a good FFI, but it doesn't do C++. If not, this is no big deal, >>> and i'll just write something myself. >> >> No, but such bindings would be *very useful*. And since there might be >> other people who need them this
2005 May 13
0
[LLVMdev] Scheme + LLVM JIT
...) {" > > " EntryBlock: " > " %cond = setle int AnArg, 2" > " branch bool %cond, label return, label recur" > > " return:" > " ret int 1" > > " recur:" > " %sub1 = sub int %AnArg, 1" > " %fibx1 = call tail int %fib (int %sub1) " > " %sub2 = sub int %AnArg, 2" > " %fibx2 = call tail int %fib (int %sub2) " > " %result = add int %fibx1, %fibx2" > " ret int %result" > "}"; Some typeos (branch -> br, 'call tail'...
2004 Nov 05
0
[LLVMdev] Re: LLVM Visual Studio Project files
...nd = setle int %AnArg, 2 ; <bool> [#uses=1] br bool %cond, label %return, label %recurse return: ; preds = %EntryBlock ret int 1 recurse: ; preds = %EntryBlock %arg = sub int %AnArg, 1 ; <int> [#uses=1] %fibx1 = call int %fib( int %arg ) ; <int> [#uses=1] %arg1 = sub int %AnArg, 2 ; <int> [#uses=1] %fibx2 = call int %fib( int %arg1 ) ; <int> [#uses=1] %addresult = add int %fibx1, %fibx2 ; <int> [#uses=1]...
2005 May 05
3
[LLVMdev] Scheme + LLVM JIT
> So as it stands, one should think of out JIT as something akin to the > early Java JITs: one function at a time and only one compile per > function. This is extremely primative by modern JIT standards, where a > JIT will do profiling, find hot functions and reoptimize them, > reoptimize functions when more information about the call tree is > available, have several levels of
2004 Nov 05
2
[LLVMdev] Re: LLVM Visual Studio Project files
Like I said, it is in my path. That's not enough. I'd be happy if Morten chimed in with any suggestions as to how he got it to work. On Thu, 04 Nov 2004 18:45:18 -0800 Reid Spencer <reid at x10sys.com> wrote: > Two suggestions: > > 1. m4 might be located by your PATH variable. > 2. Talk to Morten Ofstad about how he got it to work. > > Reid. > > On
2007 Nov 25
2
[LLVMdev] Fibonacci example in OCaml
...uot;recurse" fibf in let recurseb = builder_at_end recursebb in let condinst = build_icmp Icmp_sle argx two "cond" bb in ignore(build_cond_br condinst retbb recursebb bb); ignore(build_ret one retb); let sub = build_sub argx one "arg" recurseb in let callfibx1 = build_call fibf [|sub|] "fibx1" recurseb in let sub = build_sub argx two "arg" recurseb in let callfibx2 = build_call fibf [|sub|] "fibx2" recurseb in let sum = build_add callfibx1 callfibx2 "addresult" recurseb in build_ret sum recurseb;...