search for: istailcallconvention

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...