[LLVMdev] RFC: Tail call optimization X86

Evan Cheng evan.cheng at apple.com
Thu Oct 4 15:53:11 PDT 2007


On Oct 4, 2007, at 5:29 AM, Arnold Schwaighofer wrote:
>
> in short:
> the disadvantage of -tail-call-opt-align-stack is that the function
> stack frame is bigger.
> the advantage is that it won't blow up if for example the darwin
> linker requires functions to be 16 byte aligned :)

Thank you for the explanation. I'd much rather not have this separate  
option. IMHO we should just make this be controlled by -tail-call-opt  
for now.

Evan

>
>
>>> What does turning on by default mean? Does that mean it is shown in
>>> llc -help or that it is performed every time (without requesting via
>>> the command line) when compiling?
>>
>> The later.
>>
>>>
>>>
>>> I would not do the latter since tail call optimization clears the
>>> stack frame of the caller (sequence), possibly causing confusion
>>> when debugging also resulting code is probably not faster (since
>>> arguments are lowered to regular stack slot -where they would be if
>>> the call was
>>
>> Running it as llcbeta will hopefully help us identify the performance
>> issues so we can fix them before it's turned on by default.
>
> Okay.
>
>> Please add the potential optimizations (with concrete examples /
>> assembly snippets) to README.txt under Target/X86. Thanks!
> will do.
>
> regards arnold
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list