Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] RFC: Add tail call optimization documentation in LangRef.html"
2008 Apr 30
0
[LLVMdev] RFC: Add tail call optimization documentation in LangRef.html
Patch is missing. :-)
Evan
On Apr 30, 2008, at 4:43 AM, Arnold Schwaighofer wrote:
> The attached patch adds documentation of tail call optimization to
> LangRef.html below Calling Convetions - fastcc. Should i apply it?
>
> regards arnold
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu
2009 Feb 24
4
[LLVMdev] Broke my tail (call)
On Tue, Feb 24, 2009 at 11:50 AM, Jon Harrop <jon at ffconsultancy.com> wrote:
> Thanks for the clarification. That makes a lot more sense!
>
> LLVM's support for structs is wonderful but I don't think they can be
> called "first-class structs" until all such arbitrary restrictions have been
> removed, even though the workaround (using sret form) is trivial
2008 Sep 12
3
[LLVMdev] Tail-calling
For marking a call site as a tail call you have to call void
setTailCall(bool isTC = true) on the CallInst. The calling convention
of the function needs to be CallingConv::Fast (currently only fastcc
calls are optimized) and the call has to be in tail position of
course.
To enable tail call optimization in an embedded vm i guess you would
include llvm/Target/TargetOptions.h and set the static
2007 Sep 06
2
[LLVMdev] RFC: Tail call optimization X86
Hi Evan,
first off thanks to you and Chris for taking time.
On 6 Sep 2007, at 00:57, Evan Cheng wrote:
> We'd like to see tail call optimization to be similar to the target
> independent lowering of ISD::CALL nodes. These are auto-generated
> from ???CallingConv.td files. Some target specific details such as
> function address register (ECX in your example) should be coded in
2008 Apr 30
1
[LLVMdev] RFC: Add tail call optimization documentation in LangRef.html
;-)
On Wed, Apr 30, 2008 at 6:30 PM, Evan Cheng <evan.cheng at apple.com> wrote:
> Patch is missing. :-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tailcall-doc.patch
Type: application/octet-stream
Size: 2660 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080430/95f4fe2e/attachment.obj>
2007 Dec 25
3
[LLVMdev] Optimization feasibility
On 25 Dec 2007, at 03:29, Gordon Henriksen wrote:
> Hi Jo,
>
> On 2007-12-24, at 14:43, Joachim Durchholz wrote:
>
>> I'm in a very preliminary phase of a language project which requires
>> some specific optimizations to be reasonably efficient.
>>
>> LLVM already looks very good; I'd just like to know whether I can
>> push these optimizations
2007 Aug 11
1
[LLVMdev] Tail call optimization deeds
Okay so i implemented an(other :) initial version for X86-32 backend,
this time based on TOT:
It is not very generic at the moment. Only functions with
callingconv::fastcc and the tail call attribute will be optimized.
Maybe the next step should be to integrate the code into the other
calling convention lowering. Here is what i have at the moment:
If callingconv::fastcc is used the
2007 Sep 26
3
[LLVMdev] RFC: Tail call optimization X86
On Tue, 25 Sep 2007, Evan Cheng wrote:
>> the stack adjustment only fastcc was not one of them. Now that fastcc
>> can cause tail call optimization i had to change the convention from
>> caller pops arguments to callee pops arguments in order to allow tail
>> call optimization in a general way.
>
> Hmmm. Ok. So this is due to X86CallingConv.td changes? Unfortunately
2007 Sep 11
0
[LLVMdev] RFC: Tail call optimization X86
Hi Arnold,
Thanks for the patch. Some questions and commons:
1. Have you test it against the llvm test suite? Does it work if fp
elimination optimization is turned off?
2. Please follow llvm coding convention and make sure every line fits
in 80 columns.
3.
enum NameDecorationStyle {
None,
StdCall,
- FastCall
+ FastCall,
+ FastCC // the normal fastcc calling convention
};
Why is
2013 Feb 15
1
[LLVMdev] Question about fastcc assumptions and seemingly superfluous %esp updates
Hi Arnold,
Thanks for the insights. My comments below:
On Thu, Feb 14, 2013 at 5:30 PM, Arnold Schwaighofer
<aschwaighofer at apple.com> wrote:
> When you enable -tailcallopt you get support for tail calls between functions with arbitrary stack space requirements. That means the calling convention has to change slightly. E.g the callee is responsible for removing it's arguments of
2007 Sep 24
2
[LLVMdev] RFC: Tail call optimization X86
On 24 Sep 2007, at 09:18, Evan Cheng wrote:
> +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -stats -info-
> output-file - | grep asm-printer | grep 9
> +; change preceeding line form ... | grep 8 to ..| grep 9 since
> +; with new fastcc has std call semantics causing a stack adjustment
> +; after the function call
>
> Not sure if I understand this. Can you illustrate
2009 Feb 12
0
[LLVMdev] fastcc, tail calls, and gcc
On Thu, Feb 12, 2009 at 5:34 PM, Jeff Kuskin <jk500500 at yahoo.com> wrote:
> Two related questions.
> (2) Why does the x86-64 JIT backend generate a "ret $0x8" instruction
> to return from a fastcc function that is (a) marked as fastcc
> (CallingConv::Fast); but (b) takes no arguments and returns 'void'?
fastcc generated code ends with this:
> c20800
2007 Aug 13
0
[LLVMdev] Tail call optimization deeds
Hi Arnold and Anton,
Sorry I have been ignoring your emails on this topic. It's an
important task and I really need sometime to think about it (and talk
to Chris about it!) But this has been an especially hectic week. I am
also going to vacation soon so I am not sure when I would get around
to it.
If Chris has time, I am sure he has lots to say on this topic. :-)
Otherwise, please
2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
On Fri, 5 Oct 2007, Arnold Schwaighofer wrote:
>> to me like llvm-gcc honors that. Certainly it should.
>
> This would imply one fastcc abi (callee pops args on return) to rule
> them all?
> That is only if fastcall translates to llvm fastcc of course.
fastcall != fastcc. fastcall is a well defined convention on x86 that has
very specific ABI requirements. fastcc, on the
2009 Feb 12
6
[LLVMdev] fastcc, tail calls, and gcc
Two related questions.
This is with LLVM 2.4 doing a JIT compile to x86-64. (I generate LLVM
IR using an IRBuilder instance, compile/optimize, and then call
getPointerToFunction() to get a "native" function pointer.)
(1) My reading of various mailing list messages seems to indicate
that a function marked as using the "fastcc" calling convention
2007 Sep 25
2
[LLVMdev] RFC: Tail call optimization X86
> > 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.
> >
> > _array:
> > subl $12, %esp
> > movss LCPI1_0, %xmm0
> > mulss
2007 Oct 05
5
[LLVMdev] RFC: Tail call optimization X86
On 5 Oct 2007, at 20:00, Dale Johannesen wrote:
>>> I am not to sure on that. because that would make modules compiled
>>> with the flag on incompatible with ones compiled without the flag
>>> off
>>> as stack behaviour would mismatch.
>>> It would be no problem to make the behaviour dependent on the -tail-
>>> call-opt flag. i am not sure
2007 Oct 05
3
[LLVMdev] RFC: Tail call optimization X86
Yes please.
Evan
On Oct 5, 2007, at 11:55 AM, Arnold Schwaighofer wrote:
>
> On 5 Oct 2007, at 20:47, Evan Cheng wrote:
>
>>
>> On Oct 5, 2007, at 10:56 AM, Arnold Schwaighofer wrote:
>>
>>>
>>>> We can set a policy of treating fastcc external functions
>>>> as c functions. Then there is no chance of introducing ABI
>>>>
2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
On 5 Oct 2007, at 19:41, Evan Cheng wrote:
>
> On Oct 5, 2007, at 2:42 AM, Arnold Schwaighofer wrote:
>
>> Hi Evan,
>> I incoporated the changes you request but to the following i have got
>> a question:
>>
>>> Also, moving the option
>>> there will allow us to change fastcc ABI (callee popping arguments)
>>> only when this option is on.
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>