Displaying 6 results from an estimated 6 matches for "l_qux".
Did you mean:
fqux
2007 Sep 24
2
[LLVMdev] RFC: Tail call optimization X86
...tment
> +; after the function call
>
> Not sure if I understand this. Can you illustrate with an example?
Sure
The code generated used to be
_array:
subl $12, %esp
movss LCPI1_0, %xmm0
mulss 16(%esp), %xmm0
movss %xmm0, (%esp)
call L_qux$stub
mulss LCPI1_0, %xmm0
addl $12, %esp
ret
FastCC use to be caller pops arguments so there was no stack
adjustment after the
call to qux. Now FastCC has callee pops arguments on return semantics
so the
x86 backend inserts a stack adjustment after the call.
_a...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...> Not sure if I understand this. Can you illustrate with an example?
>
> Sure
>
> The code generated used to be
> _array:
> subl $12, %esp
> movss LCPI1_0, %xmm0
> mulss 16(%esp), %xmm0
> movss %xmm0, (%esp)
> call L_qux$stub
> mulss LCPI1_0, %xmm0
> addl $12, %esp
> ret
>
> FastCC use to be caller pops arguments so there was no stack
> adjustment after the
> call to qux. Now FastCC has callee pops arguments on return semantics
> so the
> x86 backend inserts a...
2007 Sep 25
2
[LLVMdev] RFC: Tail call optimization X86
...antics
> > so the
> > x86 backend inserts a stack adjustment after the call.
> >
> > _array:
> > subl $12, %esp
> > movss LCPI1_0, %xmm0
> > mulss 16(%esp), %xmm0
> > movss %xmm0, (%esp)
> > call L_qux$stub
> > subl $4, %esp << stack adjustment because qux pops
> > arguments on return
> > mulss LCPI1_0, %xmm0
> > addl $12, %esp
> > ret $4
>
> Ok. Please make sure for now this only takes effect if tail call
>...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
Hi Arnold,
This is a very good first step! Thanks! Comments below.
Evan
Index: test/CodeGen/X86/constant-pool-remat-0.ll
===================================================================
--- test/CodeGen/X86/constant-pool-remat-0.ll (revision 42247)
+++ test/CodeGen/X86/constant-pool-remat-0.ll (working copy)
@@ -1,8 +1,10 @@
; RUN: llvm-as < %s | llc -march=x86-64 | grep LCPI | count 3
;
2007 Sep 23
2
[LLVMdev] RFC: Tail call optimization X86
The patch is against revision 42247.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tailcall-src.patch
Type: application/octet-stream
Size: 62639 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070923/4770302f/attachment.obj>
2007 Sep 25
0
[LLVMdev] RFC: Tail call optimization X86
...>>> x86 backend inserts a stack adjustment after the call.
>>>
>>> _array:
>>> subl $12, %esp
>>> movss LCPI1_0, %xmm0
>>> mulss 16(%esp), %xmm0
>>> movss %xmm0, (%esp)
>>> call L_qux$stub
>>> subl $4, %esp << stack adjustment because qux pops
>>> arguments on return
>>> mulss LCPI1_0, %xmm0
>>> addl $12, %esp
>>> ret $4
>>
>> Ok. Please make sure for now this only takes...