[LLVMdev] X86 -tailcallopt and C calling conversion

Evan Cheng evan.cheng at apple.com
Tue Jan 4 11:46:02 PST 2011


On Jan 1, 2011, at 4:20 PM, NAKAMURA Takumi wrote:

> Happy 2011, everybody!
> 
> It seems -tailcallopt prevents tailcall optimization when both caller
> and callee have ccc,
> even when it is optimized without an option -tailcallopt.

Sorry, I don't understand your question. What do you mean by both caller and callee have ccc?

Evan

> Is it intended or misoptimized?
> 
> In X86ISelLowering.cpp:X86TargetLowering::IsEligibleForTailCallOptimization():
> 
>  if (GuaranteedTailCallOpt) {
>    if (IsTailCallConvention(CalleeCC) && CCMatch)
>      return true;
>    return false;
>  }
> 
> I know -tailcallopt changes calling conversion of fastcc to callee-pop.
> 
> ps. I am tweaking tailcallopt on Win64.
> 
> ...Takumi
> _______________________________________________
> 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