Lines Matching refs:AutoreleaseRV
507 void OptimizeAutoreleaseRVCall(Function &F, Instruction *AutoreleaseRV,
523 Instruction *AutoreleaseRV, const Value *&AutoreleaseRVArg);
663 Instruction *AutoreleaseRV, const Value *&AutoreleaseRVArg) { in OptimizeInlinedAutoreleaseRVCall() argument
665 assert(Inst->getParent() == AutoreleaseRV->getParent()); in OptimizeInlinedAutoreleaseRVCall()
669 AutoreleaseRVArg = GetArgRCIdentityRoot(AutoreleaseRV); in OptimizeInlinedAutoreleaseRVCall()
685 << *AutoreleaseRV << "' paired with '" << *Inst << "'\n"); in OptimizeInlinedAutoreleaseRVCall()
688 AutoreleaseRV->replaceAllUsesWith( in OptimizeInlinedAutoreleaseRVCall()
689 cast<CallInst>(AutoreleaseRV)->getArgOperand(0)); in OptimizeInlinedAutoreleaseRVCall()
691 EraseInstruction(AutoreleaseRV); in OptimizeInlinedAutoreleaseRVCall()
720 Instruction *AutoreleaseRV, in OptimizeAutoreleaseRVCall() argument
723 const Value *Ptr = GetArgRCIdentityRoot(AutoreleaseRV); in OptimizeAutoreleaseRVCall()
755 << *AutoreleaseRV << "\n"); in OptimizeAutoreleaseRVCall()
757 CallInst *AutoreleaseRVCI = cast<CallInst>(AutoreleaseRV); in OptimizeAutoreleaseRVCall()
763 LLVM_DEBUG(dbgs() << "New: " << *AutoreleaseRV << "\n"); in OptimizeAutoreleaseRVCall()
807 auto setDelayedAutoreleaseRV = [&](Instruction *AutoreleaseRV) { in OptimizeIndividualCalls() argument
808 assert(!DelayedAutoreleaseRV || !AutoreleaseRV); in OptimizeIndividualCalls()
809 DelayedAutoreleaseRV = AutoreleaseRV; in OptimizeIndividualCalls()
816 ARCInstKind::AutoreleaseRV, in OptimizeIndividualCalls()
864 case ARCInstKind::AutoreleaseRV: in OptimizeIndividualCalls()
1002 case ARCInstKind::AutoreleaseRV: in OptimizeIndividualCallImpl()
1150 case ARCInstKind::AutoreleaseRV: in OptimizeIndividualCallImpl()
2338 GetBasicARCInstKind(Autorelease) == ARCInstKind::AutoreleaseRV)) in OptimizeReturns()
2443 (1 << unsigned(ARCInstKind::AutoreleaseRV)))) in run()