Displaying 4 results from an estimated 4 matches for "isnextinstructionreturn".
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...perform an optimization. IsEligibleForTailCallElimination() should
determine the feasibility on its own, no?
+// check whether the instruction following the tailcall is a return
instruction
+// and whether its return type is void or if it uses the value
defined by the
+// tail call
+bool IsNextInstructionReturn(Instruction &I) {
+ bool IsNextInstRet = false;
+ BasicBlock *BB = I.getParent();
+ BasicBlock::iterator BI = &I;
+ assert(BI != BB->end() && "Woohooa");
+ ++BI;
+ if (BI != BB->end()) {
+ ReturnInst *RI = dyn_cast<ReturnInst>(BI);
+ if (RI) {
+...
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 24
2
[LLVMdev] RFC: Tail call optimization X86
...>
> case CallingConv::Fast:
> if (isTailCall && PerformTailCallOpt)
> return LowerX86_TailCallTo(Op, DAG, CallingConv);
> else
> return LowerCCCCallTo(Op,DAG, CallingConv);
> Some stylistic nitpicks. Please write the comments as:
> /// IsNextInstructionReturn - Check whether..
Will do.
> + assert(BI != BB->end() && "Woohooa");
> Better assertion messages please. :-)
>
> Why not write it like this:
>
okay
> Also, shouldn't this function be "static"?
okay
> Please fix the inconsistency: "TAILCA...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...::Fast:
>> if (isTailCall && PerformTailCallOpt)
>> return LowerX86_TailCallTo(Op, DAG, CallingConv);
>> else
>> return LowerCCCCallTo(Op,DAG, CallingConv);
>
>
>> Some stylistic nitpicks. Please write the comments as:
>> /// IsNextInstructionReturn - Check whether..
> Will do.
>> + assert(BI != BB->end() && "Woohooa");
>> Better assertion messages please. :-)
>>
>> Why not write it like this:
>>
> okay
>> Also, shouldn't this function be "static"?
> okay
>>...