Displaying 3 results from an estimated 3 matches for "caller_f".
Did you mean:
callee_f
2011 Jan 02
2
[LLVMdev] X86 -tailcallopt and C calling conversion
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.
Is it intended or misoptimized?
In X86ISelLowering.cpp:X86TargetLowering::IsEligibleForTailCallOptimization():
if (GuaranteedTailCallOpt) {
if (IsTailCallConvention(CalleeCC) && CCMatch)
return true;
2011 Jan 04
0
[LLVMdev] X86 -tailcallopt and C calling conversion
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?
>
2012 Feb 29
1
[LLVMdev] Tail Call Optimization
...When "-tailcallopt" is specified (GuaranteedTailCallOpt),
tailcall optimizer would not touch functions of default calling conversion.
; for example
define void @caller_c() nounwind {
entry:
tail call void @callee_c()
ret void
}
declare void @callee_c() nounwind
define fastcc void @caller_f() nounwind {
entry:
tail call fastcc void @callee_f()
ret void
}
declare fastcc void @callee_f() nounwind
On {i686|x86_64}-linux without -tailcallopt,
caller_c:
jmp callee_c # TAILCALL
caller_f:
jmp callee_f # TAILCALL
With -tailcallopt,...