[llvm-commits] [llvm] r94617 - /llvm/trunk/lib/Target/X86/X86FastISel.cpp

Evan Cheng evan.cheng at apple.com
Tue Jan 26 15:46:51 PST 2010


On Jan 26, 2010, at 3:33 PM, Dan Gohman wrote:

> 
> On Jan 26, 2010, at 3:28 PM, Evan Cheng wrote:
> 
>> Author: evancheng
>> Date: Tue Jan 26 17:28:40 2010
>> New Revision: 94617
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=94617&view=rev
>> Log:
>> Ignore 'forced' tailcall opt in fastisel mode.
>> 
>> Modified:
>>   llvm/trunk/lib/Target/X86/X86FastISel.cpp
>> 
>> Modified: llvm/trunk/lib/Target/X86/X86FastISel.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FastISel.cpp?rev=94617&r1=94616&r2=94617&view=diff
>> 
>> ==============================================================================
>> --- llvm/trunk/lib/Target/X86/X86FastISel.cpp (original)
>> +++ llvm/trunk/lib/Target/X86/X86FastISel.cpp Tue Jan 26 17:28:40 2010
>> @@ -1243,11 +1243,6 @@
>>      CC != CallingConv::X86_FastCall)
>>    return false;
>> 
>> -  // fastcc with -tailcallopt is intended to provide a guaranteed
>> -  // tail call optimization. Fastisel doesn't know how to do that.
>> -  if (X86::IsEligibleForTailCallOpt(CC))
>> -    return false;
> 
> This change breaks the "guarantee"; the -tailcallopt option with
> fastcc is intended to guarantee a tail call.
> 
> FastISel should still bail out if PerformTailCallOpt is true and
> CC is CallingConv::Fast.

Alright I'll restore the code.

Evan

> 
> Dan
> 





More information about the llvm-commits mailing list