Displaying 5 results from an estimated 5 matches for "istailcallconvention".
2011 Jan 02
2
[LLVMdev] X86 -tailcallopt and C calling conversion
...t 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;
return false;
}
I know -tailcallopt changes calling conversion of fastcc to callee-pop.
ps. I am tweaking tailcallopt on Win64.
...Takumi
2010 Mar 03
0
[LLVMdev] [PATCH] New calling convention for use by GHC
...4) In X86ISelLowering.cpp:
- if (!Is64Bit && CallConv != CallingConv::Fast && ArgsAreStructReturn(Ins))
+ if (!Is64Bit && CallConv != CallingConv::Fast &&
+ CallConv != CallingConv::GHC && ArgsAreStructReturn(Ins))
This should probably use !IsTailCallConvention(CallConv) instead of duplicating the two conventions
assert(!(isVarArg && CallConv == CallingConv::Fast) &&
"Var args not supported with calling convention fastcc");
+ assert(!(isVarArg && CallConv == CallingConv::GHC) &&
+ "Var...
2010 Mar 07
1
[LLVMdev] [PATCH] New calling convention for use by GHC
...:
>
> - if (!Is64Bit&& CallConv != CallingConv::Fast&& ArgsAreStructReturn(Ins))
> + if (!Is64Bit&& CallConv != CallingConv::Fast&&
> + CallConv != CallingConv::GHC&& ArgsAreStructReturn(Ins))
>
> This should probably use !IsTailCallConvention(CallConv) instead of duplicating the two conventions
>
> assert(!(isVarArg&& CallConv == CallingConv::Fast)&&
> "Var args not supported with calling convention fastcc");
> + assert(!(isVarArg&& CallConv == CallingConv::GHC)&&
&...
2010 Mar 03
2
[LLVMdev] [PATCH] New calling convention for use by GHC
Hi all,
As previously mentioned on this list the Haskell compiler GHC has a new
LLVM based back-end. The back-end needs a new calling convention to
efficiently use LLVM and that is what this patch does, just for X86 at
the moment.
Breakdown:
1) Need actual calling convention
Touches:
- include/llvm/CallingConv.h
- lib/Target/X86/X86CallingConv.td
2) Handling new calling
2011 Jan 04
0
[LLVMdev] X86 -tailcallopt and C calling conversion
...-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
> _______________________________________________
> LLV...