reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Scalar/TailRecursionElimination.cpp
  520   BasicBlock::iterator BBI(CI);
  522     if (canMoveAboveCall(&*BBI, CI, AA))
  530              canTransformAccumulatorRecursion(&*BBI, CI))) {
  543   if (Ret->getNumOperands() == 1 && Ret->getReturnValue() != CI &&
  546       !getCommonReturnValue(nullptr, CI)) {
  550     if (!isDynamicConstant(Ret->getReturnValue(), CI, Ret))
  554     AccumulatorRecursionEliminationInitVal = getCommonReturnValue(Ret, CI);
  564     return OptimizationRemark(DEBUG_TYPE, "tailcall-recursion", CI)
  576     BI->setDebugLoc(CI->getDebugLoc());
  580     TailCallsAreMarkedTail = CI->isTailCall();
  614   if (TailCallsAreMarkedTail && !CI->isTailCall())
  620   for (unsigned i = 0, e = CI->getNumArgOperands(); i != e; ++i)
  621     ArgumentPHIs[i]->addIncoming(CI->getArgOperand(i), BB);
  658       AccRecInstr->setOperand(AccRecInstr->getOperand(0) != CI, AccPN);
  677   NewBI->setDebugLoc(CI->getDebugLoc());
  680   BB->getInstList().erase(CI);   // Remove call.