Home | History | Annotate | Download | only in Scalar

Lines Matching refs:Ret

106     bool EliminateRecursiveTailCall(CallInst *CI, ReturnInst *Ret,
112 ReturnInst *Ret, BasicBlock *&OldEntry,
405 if (ReturnInst *Ret = dyn_cast<ReturnInst>(BB->getTerminator())) {
406 bool Change = ProcessReturningBlock(Ret, OldEntry, TailCallsAreMarkedTail,
408 if (!Change && BB->getFirstNonPHIOrDbg() == Ret)
409 Change = FoldReturnAndProcessPred(BB, Ret, OldEntry,
614 bool TailCallElim::EliminateRecursiveTailCall(CallInst *CI, ReturnInst *Ret,
637 for (++BBI; &*BBI != Ret; ++BBI) {
658 if (Ret->getNumOperands() == 1 && Ret->getReturnValue() != CI &&
659 !isa<UndefValue>(Ret->getReturnValue()) &&
665 if (!isDynamicConstant(Ret->getReturnValue(), CI, Ret))
669 AccumulatorRecursionEliminationInitVal = getCommonReturnValue(Ret, CI);
674 BasicBlock *BB = Ret->getParent();
770 AccPN->addIncoming(Ret->getReturnValue(), BB);
783 // ret instructions, replacing them with an unconditional branch.
784 BranchInst *NewBI = BranchInst::Create(OldEntry, Ret);
787 BB->getInstList().erase(Ret); // Remove return.
794 ReturnInst *Ret, BasicBlock *&OldEntry,
819 ReturnInst *RI = FoldReturnIntoUncondBranch(Ret, BB, Pred);
823 // because the ret instruction in there is still using a value which
840 TailCallElim::ProcessReturningBlock(ReturnInst *Ret, BasicBlock *&OldEntry,
844 CallInst *CI = FindTRECandidate(Ret, CannotTailCallElimCallsMarkedTail);
848 return EliminateRecursiveTailCall(CI, Ret, OldEntry, TailCallsAreMarkedTail,