Displaying 3 results from an estimated 3 matches for "in_sp".
Did you mean:
in_sg
2011 Jul 09
1
[LLVMdev] Explicit register usage in LLVM assembly
...anks for your quick response,
Can you elaborate more on this idea? How could i do that?
Let me explain quickly how i handle the 'register pinning' and what is
the problem in case it was not clear in the beginning (in llvm pseudocode):
{i64, i64, i64, i64} @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,...
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