Lines Matching refs:Retain
70 bool OptimizeRetainCall(Function &F, Instruction *Retain);
116 ObjCARCContract::OptimizeRetainCall(Function &F, Instruction *Retain) {
117 ImmutableCallSite CS(GetObjCArg(Retain));
121 if (Call->getParent() != Retain->getParent())
128 if (&*I != Retain)
137 "return value.\nOld: "<< *Retain << "\n");
142 cast<CallInst>(Retain)->setCalledFunction(Decl);
144 DEBUG(dbgs() << "New: " << *Retain << "\n");
160 CallInst *Retain = 0;
176 Retain = dyn_cast_or_null<CallInst>(*DependingInstructions.begin());
179 if (!Retain ||
180 GetBasicInstructionClass(Retain) != IC_Retain ||
181 GetObjCArg(Retain) != Arg)
189 " Old Retain: "
190 << *Retain << "\n");
195 Retain->setCalledFunction(Decl);
197 DEBUG(dbgs() << " New Retain: "
198 << *Retain << "\n");
260 Instruction *Retain = I;
261 if (GetBasicInstructionClass(Retain) != IC_Retain) return;
262 if (GetObjCArg(Retain) != New) return;
289 EraseInstruction(Retain);