[LLVMdev] RFC: Tail call optimization X86

Arnold Schwaighofer arnold.schwaighofer at gmail.com
Fri Oct 5 11:55:07 PDT 2007


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
>>> incompatibility.
>> this means limiting tail call opt to protected/invisible functions
>> within a module?
>> a little limiting i think.
>
> It makes sense to be extra careful at this point. The  policy can be
> changed when we enable tail call optimization by default.
>>
>> but i think if it is documented that there will be a incompatibility
>> between
>> modules compiled with tailcallopt on/off that is okay?
>> and this would only happen if someone other than llvm-gcc used llvm
>> as a backend
>> anyway.
>
> Documentation isn't going to be enough. We will do everything
> possible to ensure there isn't abi incompatibility. But at this
> point, it's important the patch does not impact codegen in any way
> when tail call optimization is off. This allows us to get a true
> sense of the performance impact.
>

okay then i'll make tailcallopt switch stack adjusting behaviour?



More information about the llvm-dev mailing list