search for: iseligiblefortailcalloptimization

Displaying 20 results from an estimated 25 matches for "iseligiblefortailcalloptimization".

2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...gt;>> Hello , >>>>>> >>>>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>>>>> >>>>>> bool isEligibleForTailCallOptimization(Function *F) { >>>>>> CallingConv::ID CC = F->getCallingConv(); >>>>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) >>>>>> return true; >>>>>> return false; >>>>>...
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...;> >>>>> Hello , >>>>> >>>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>>>> >>>>> bool isEligibleForTailCallOptimization(Function *F) { >>>>> CallingConv::ID CC = F->getCallingConv(); >>>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) >>>>> return true; >>>>> return false; >>>>> } >>>&...
2016 Jun 28
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...ndya at gmail.com>> wrote: >>> >>> Hello , >>> >>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>> >>> bool isEligibleForTailCallOptimization(Function *F) { >>> CallingConv::ID CC = F->getCallingConv(); >>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) >>> return true; >>> return false; >>> } >>> >>> Any other suggestions are...
2016 Jun 29
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...kvpandya at gmail.com> >> wrote: >> >> Hello , >> >> To solve this bug locally I have given preference to tail call >> optimization over local function related optimization in IPRA. I have added >> following method to achieve this: >> >> bool isEligibleForTailCallOptimization(Function *F) { >> CallingConv::ID CC = F->getCallingConv(); >> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == >> CallingConv::HiPE) >> return true; >> return false; >> } >> >> Any other suggestions are always welcomed. &gt...
2008 Apr 24
2
[LLVMdev] RFC: PowerPC tail call optimization patch
Another round :) I'll post the patch to llvm-commits cause i guess people might get annoyed by my series of patches :). On Tue, Apr 22, 2008 at 10:34 PM, Evan Cheng <evan.cheng at apple.com> wrote: . >> +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, >> ... > That's fine. Please break it into two parts and move the target > independent part out. Done - see CheckTailCallReturnConstraints() in TargetLowering. The rest of the function is still target dependent. PowerPC currently can not tail call optimize byval func...
2016 Jun 28
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...;> >>>>> Hello , >>>>> >>>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>>>> >>>>> bool isEligibleForTailCallOptimization(Function *F) { >>>>> CallingConv::ID CC = F->getCallingConv(); >>>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) >>>>> return true; >>>>> return false; >>>>> } >>>&...
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...kvpandya at gmail.com> wrote: >>> >>> Hello , >>> >>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: >>> >>> bool isEligibleForTailCallOptimization(Function *F) { >>> CallingConv::ID CC = F->getCallingConv(); >>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) >>> return true; >>> return false; >>> } >>> >>> Any other suggestions are...
2008 Apr 24
0
[LLVMdev] RFC: PowerPC tail call optimization patch
....com> wrote: > Another round :) > > I'll post the patch to llvm-commits cause i guess people might get > annoyed by my series of patches :). > > On Tue, Apr 22, 2008 at 10:34 PM, Evan Cheng <evan.cheng at apple.com> wrote: > . > >> +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, > >> ... > > > That's fine. Please break it into two parts and move the target > > independent part out. > Done - see CheckTailCallReturnConstraints() in TargetLowering. The > rest of the function is still target dependent. PowerPC currently can...
2008 Apr 22
2
[LLVMdev] RFC: PowerPC tail call optimization patch
...0 AM, Evan Cheng <evan.cheng at apple.com> wrote: > More nitpicks: > ... > No need for else here. :-) Done > SPDiff = (int)CallerMinReservedArea - (int)ParamSize; > > Just change last statement to > int SPDiff = (int)... Done > > +bool > +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, > + SDOperand Ret, > + SelectionDAG& > DAG) const { > + // Variable argument functions > + // are not supported. > > Why two separate lines? there...
2008 Apr 22
0
[LLVMdev] RFC: PowerPC tail call optimization patch
...> wrote: >> More nitpicks: >> ... >> No need for else here. :-) > Done >> SPDiff = (int)CallerMinReservedArea - (int)ParamSize; >> >> Just change last statement to >> int SPDiff = (int)... > Done >> >> +bool >> +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, >> + SDOperand Ret, >> + SelectionDAG& >> DAG) const { >> + // Variable argument functions >> + // are not supported. >> >> Why two...
2008 Apr 21
0
[LLVMdev] RFC: PowerPC tail call optimization patch
...iff = 0; + + PPCFunctionInfo *FI = DAG.getMachineFunction().getInfo<PPCFunctionInfo>(); + unsigned CallerMinReservedArea = FI->getMinReservedArea(); + SPDiff = (int)CallerMinReservedArea - (int)ParamSize; Just change last statement to int SPDiff = (int)... +bool +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, + SDOperand Ret, + SelectionDAG& DAG) const { + // Variable argument functions + // are not supported. Why two separate lines? + if (!PerformTailCallOpt || + cast&...
2008 Apr 16
2
[LLVMdev] RFC: PowerPC tail call optimization patch
Hello Dale, this is an updated version of the tail call optimization patch for powerpc. could you have a look at it? i added code to support ppc64 (untested, will try to get access to ppc64 on a friend's machine). incorporated evan's formatting suggestions. ;) will run another round of testing (llvm-test) on my powerpc g4/800 when i get the okay to commit. testing on this machine takes
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; return false; } I know -tailcallopt changes calling conversion of fastcc to callee-pop. ps. I am tweaking tailcallopt on Win64. ...Takumi
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...Jun 27, 2016, at 12:25 PM, vivek pandya <vivekvpandya at gmail.com> wrote: > > Hello , > > To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: > > bool isEligibleForTailCallOptimization(Function *F) { > CallingConv::ID CC = F->getCallingConv(); > if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) > return true; > return false; > } > > Any other suggestions are always welcomed. Why aren’t checking for the presence o...
2016 Jun 27
0
Tail call optimization is getting affected due to local function related optimization with IPRA
Hello , To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this: bool isEligibleForTailCallOptimization(Function *F) { CallingConv::ID CC = F->getCallingConv(); if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE) return true; return false; } Any other suggestions are always welcomed. and I am checking this condition along with hasLocalLinkage() and hasAddr...
2011 Jan 04
0
[LLVMdev] X86 -tailcallopt and C calling conversion
...en 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. >...
2016 Jun 28
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...2016, at 12:25 PM, vivek pandya <vivekvpandya at gmail.com> wrote: > > Hello , > > To solve this bug locally I have given preference to tail call > optimization over local function related optimization in IPRA. I have added > following method to achieve this: > > bool isEligibleForTailCallOptimization(Function *F) { > CallingConv::ID CC = F->getCallingConv(); > if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == > CallingConv::HiPE) > return true; > return false; > } > > Any other suggestions are always welcomed. > > > Why aren’t checking...
2016 Jun 26
3
Tail call optimization is getting affected due to local function related optimization with IPRA
According to this http://llvm.org/docs/CodeGenerator.html#tail-call-section, it seems that adding a new CC for the purpose of local function optimization seems a good idea because tail call optimization only takes place when both caller and callee have fastcc or GHC or HiPE calling convention. -Vivek On Sun, Jun 26, 2016 at 1:26 AM, vivek pandya <vivekvpandya at gmail.com> wrote: >
2016 Aug 05
2
A thought to improve IPRA
The code in X86TargetLowering::IsEligibleForTailCallOptimization() has this part: // The callee has to preserve all registers the caller needs to preserve. const X86RegisterInfo *TRI = Subtarget.getRegisterInfo(); const uint32_t *CallerPreserved = TRI->getCallPreservedMask(MF, CallerCC); if (!CCMatch) { const uint32_t *CalleePreserved = TRI->g...
2016 Aug 16
2
A thought to improve IPRA
...e code size change. I am currently pausing on this. Sincerely, Vivek On Sat, Aug 6, 2016 at 1:35 PM, vivek pandya <vivekvpandya at gmail.com> wrote: > > > On Sat, Aug 6, 2016 at 2:00 AM, Matthias Braun <matze at braunis.de> wrote: > >> The code in X86TargetLowering::IsEligibleForTailCallOptimization() has >> this part: >> >> // The callee has to preserve all registers the caller needs to >> preserve. >> const X86RegisterInfo *TRI = Subtarget.getRegisterInfo(); >> const uint32_t *CallerPreserved = TRI->getCallPreservedMask(MF, >> CallerCC); &gt...