search for: iseligiblefortailcallelimination

Displaying 12 results from an estimated 12 matches for "iseligiblefortailcallelimination".

2007 Sep 24
2
[LLVMdev] RFC: Tail call optimization X86
...Signed, > bool isVarArg, unsigned CallingConv, bool isTailCall, > - SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); > + bool isNextInstRet, SDOperand Callee, ArgListTy &Args, > + SelectionDAG &DAG); > + // IsEligibleForTailCallElimination - Check whether the call is > eligible for > + // tailcall elimination > + virtual bool IsEligibleForTailCallElimination(SelectionDAG& DAG, > + bool IsNextInstRet, > + SDOperand Callee...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...bool isVarArg, unsigned CallingConv, bool isTailCall, >> - SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); >> + bool isNextInstRet, SDOperand Callee, ArgListTy &Args, >> + SelectionDAG &DAG); >> + // IsEligibleForTailCallElimination - Check whether the call is >> eligible for >> + // tailcall elimination >> + virtual bool IsEligibleForTailCallElimination(SelectionDAG& DAG, >> + bool IsNextInstRet, >> +...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...Type *RetTy, bool RetTyIsSigned, bool isVarArg, unsigned CallingConv, bool isTailCall, - SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); + bool isNextInstRet, SDOperand Callee, ArgListTy &Args, + SelectionDAG &DAG); + // IsEligibleForTailCallElimination - Check whether the call is eligible for + // tailcall elimination + virtual bool IsEligibleForTailCallElimination(SelectionDAG& DAG, + bool IsNextInstRet, + SDOperand Callee, +...
2007 Sep 23
2
[LLVMdev] RFC: Tail call optimization X86
The patch is against revision 42247. -------------- next part -------------- A non-text attachment was scrubbed... Name: tailcall-src.patch Type: application/octet-stream Size: 62639 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070923/4770302f/attachment.obj>
2007 Sep 25
2
[LLVMdev] RFC: Tail call optimization X86
...VarArg, unsigned CallingConv, bool isTailCall, > >> - SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); > >> + bool isNextInstRet, SDOperand Callee, ArgListTy &Args, > >> + SelectionDAG &DAG); > >> + // IsEligibleForTailCallElimination - Check whether the call is > >> eligible for > >> + // tailcall elimination > >> + virtual bool IsEligibleForTailCallElimination(SelectionDAG& DAG, > >> + bool IsNextInstRet, > >> +...
2007 Sep 25
0
[LLVMdev] RFC: Tail call optimization X86
...;>>> - SDOperand Callee, ArgListTy &Args, SelectionDAG >>>> &DAG); >>>> + bool isNextInstRet, SDOperand Callee, ArgListTy >>>> &Args, >>>> + SelectionDAG &DAG); >>>> + // IsEligibleForTailCallElimination - Check whether the call is >>>> eligible for >>>> + // tailcall elimination >>>> + virtual bool IsEligibleForTailCallElimination(SelectionDAG& DAG, >>>> + bool >>>> IsNextInstRet, &gt...
2007 Sep 11
0
[LLVMdev] RFC: Tail call optimization X86
...s no need to change indentation for the rest of the function. 9. +// Check to see whether the next instruction following the call is a return +// A function is eligable if caller/callee calling conventions match and the +// function CALL is immediatly followed by a RET +bool X86TargetLowering::IsEligibleForTailCallElimination(SDOperand Call, SelectionDAG& DAG, unsigned CalleeCC, SDOperand Callee) { + bool IsEligible = false; + SDNode * CallNode = Call.Val; ... +SDOperand X86TargetLowering::LowerX86_32FastCCCallTo(SDOperand Op, + SelectionDAG &DAG, +...
2007 Sep 06
2
[LLVMdev] RFC: Tail call optimization X86
Hi Evan, first off thanks to you and Chris for taking time. On 6 Sep 2007, at 00:57, Evan Cheng wrote: > We'd like to see tail call optimization to be similar to the target > independent lowering of ISD::CALL nodes. These are auto-generated > from ???CallingConv.td files. Some target specific details such as > function address register (ECX in your example) should be coded in
2007 Sep 11
2
[LLVMdev] RFC: Tail call optimization X86
...est of the function. > Okay > 9. > +// Check to see whether the next instruction following the call is a > return > +// A function is eligable if caller/callee calling conventions match > and the > +// function CALL is immediatly followed by a RET > +bool X86TargetLowering::IsEligibleForTailCallElimination(SDOperand > Call, SelectionDAG& DAG, unsigned CalleeCC, SDOperand Callee) { > + bool IsEligible = false; > + SDNode * CallNode = Call.Val; > ... > > +SDOperand X86TargetLowering::LowerX86_32FastCCCallTo(SDOperand Op, > +...
2007 Oct 02
0
[LLVMdev] RFC: Tail call optimization X86
Hi all, I changed the code that checks whether a tail call is really eligible for optimization so that it performs the check/fix in SelectionDAGISel.cpp:BuildSelectionDAG() as suggest by Evan. Also eliminated an error that caused the remaining failing test cases in the test-suite. The results look very nice (on darwin x86, r42486). The same number (46) of failing test cases on patched
2007 Sep 26
3
[LLVMdev] RFC: Tail call optimization X86
On Tue, 25 Sep 2007, Evan Cheng wrote: >> the stack adjustment only fastcc was not one of them. Now that fastcc >> can cause tail call optimization i had to change the convention from >> caller pops arguments to callee pops arguments in order to allow tail >> call optimization in a general way. > > Hmmm. Ok. So this is due to X86CallingConv.td changes? Unfortunately
2007 Oct 04
3
[LLVMdev] RFC: Tail call optimization X86
...onv.td file has: > > class CCIfSubtarget<string F, CCAction A> > : CCIf<! strconcat("State.getTarget().getSubtarget<X86Subtarget>().", F), A>; > > It would be straight-forward to have a CCIf defined to check some command > line argument. +/// IsEligibleForTailCallElimination - Check to see whether the next instruction +// following the call is a return. A function is eligible if caller/ callee +// calling conventions match, currently only fastcc supports tail calls, and the +// function CALL is immediatly followed by a RET +bool X86TargetLowering::IsEligibleForTai...