search for: nsp2

Displaying 3 results from an estimated 3 matches for "nsp2".

Did you mean: ns2
2011 Jul 09
1
[LLVMdev] Explicit register usage in LLVM assembly
...@main(i64 %in_hp, i64 %in_p, i64 %in_sp) { ;; In the entry block: %hp = alloca i64 store %in_hp -> %hp %p = alloca i64 store %in_p -> %p %sp = alloca i64 store %in_sp -> %sp ...... ;; before normal call %hp1 = load %hp %p1 = load %p %sp1 = load %sp {%hp2, %p2, %nsp2, %val} = call @foo(%hp1, %p1, %sp1, arg1, arg2) ;; in normal continuation store %hp2 -> %hp store %p2 -> %p store %sp2 -> %sp ....... ....... ;; before invoke call %hp3 = load %hp %p3 = load %p %sp3 = load %sp {%hp4, %p4, %nsp4, %val} = invoke @bar(%hp3, %p3, %sp3,...
2011 Jul 08
0
[LLVMdev] Explicit register usage in LLVM assembly
On 8 July 2011 21:10, Yiannis Tsiouris <yiannis.tsiouris at gmail.com> wrote: > The problem with that is the case of an 'invoke' call. According to the > semantics of the invoke instruction the return value is not available  when > a stack unwind happens. From the Language Reference Manual: >  "For the purposes of the SSA form, the definition of the value returned by
2011 Jul 08
2
[LLVMdev] Explicit register usage in LLVM assembly
On Sun, Apr 3, 2011 at 2:58 AM, David Terei <davidterei at gmail.com> wrote: > Hi Yiannis, > > As has been said GHC had this problem (I'm the author of GHC's LLVM > backend). GHC uses 4 pinned registers on x86-32 and 16 on x86-64. The > solution is to use a custom calling convention. I would argue that > this is a better solution then having the registers