Lines Matching refs:Retain
2318 DEBUG(dbgs() << "Inserting new Retain: " << *Call << "\n"
2618 Instruction *Retain = cast<Instruction>(V);
2620 DEBUG(dbgs() << "Visiting: " << *Retain << "\n");
2622 Value *Arg = GetObjCArg(Retain);
2640 NewRetains.push_back(Retain);
2856 /// between the Retain and the call that can affect the reference count of their
2857 /// shared pointer argument. Note that Retain need not be in BB.
2859 HasSafePathToPredecessorCall(const Value *Arg, Instruction *Retain,
2863 FindDependencies(CanChangeRetainCount, Arg, Retain->getParent(), Retain,
2897 CallInst *Retain =
2901 if (!Retain ||
2902 !IsRetain(GetBasicInstructionClass(Retain)) ||
2903 GetObjCArg(Retain) != Arg) {
2907 return Retain;
2977 CallInst *Retain =
2983 if (!Retain)
2987 // between the retain and the call. Note that Retain need not be in BB.
2988 bool HasSafePathToCall = HasSafePathToPredecessorCall(Arg, Retain,
3000 DEBUG(dbgs() << "Erasing: " << *Retain << "\nErasing: "
3002 EraseInstruction(Retain);