Lines Matching refs:Retain

83     bool optimizeRetainCall(Function &F, Instruction *Retain);
113 bool ObjCARCContract::optimizeRetainCall(Function &F, Instruction *Retain) { in optimizeRetainCall() argument
114 ImmutableCallSite CS(GetArgRCIdentityRoot(Retain)); in optimizeRetainCall()
118 if (Call->getParent() != Retain->getParent()) in optimizeRetainCall()
125 if (&*I != Retain) in optimizeRetainCall()
134 "return value.\nOld: "<< *Retain << "\n"); in optimizeRetainCall()
139 cast<CallInst>(Retain)->setCalledFunction(Decl); in optimizeRetainCall()
141 DEBUG(dbgs() << "New: " << *Retain << "\n"); in optimizeRetainCall()
154 CallInst *Retain = nullptr; in contractAutorelease() local
170 Retain = dyn_cast_or_null<CallInst>(*DependingInstructions.begin()); in contractAutorelease()
173 if (!Retain || GetBasicARCInstKind(Retain) != ARCInstKind::Retain || in contractAutorelease()
174 GetArgRCIdentityRoot(Retain) != Arg) in contractAutorelease()
182 " Retain: " << *Retain << "\n"); in contractAutorelease()
187 Retain->setCalledFunction(Decl); in contractAutorelease()
189 DEBUG(dbgs() << " New RetainAutorelease: " << *Retain << "\n"); in contractAutorelease()
287 while (I != Begin && GetBasicARCInstKind(&*I) != ARCInstKind::Retain) { in findRetainForStoreStrongContraction()
297 Instruction *Retain = &*I; in findRetainForStoreStrongContraction() local
298 if (GetBasicARCInstKind(Retain) != ARCInstKind::Retain) in findRetainForStoreStrongContraction()
300 if (GetArgRCIdentityRoot(Retain) != New) in findRetainForStoreStrongContraction()
302 return Retain; in findRetainForStoreStrongContraction()
357 Instruction *Retain = in tryToContractReleaseIntoStoreStrong() local
361 if (!Retain) in tryToContractReleaseIntoStoreStrong()
372 << " Retain: " << *Retain << "\n" in tryToContractReleaseIntoStoreStrong()
399 EraseInstruction(Retain); in tryToContractReleaseIntoStoreStrong()
419 case ARCInstKind::Retain: in tryToPeepholeInstruction()