Home | History | Annotate | Download | only in ObjCARC

Lines Matching full:instruction

77     bool tryToPeepholeInstruction(Function &F, Instruction *Inst,
79 SmallPtrSetImpl<Instruction *> &DepInsts,
83 bool optimizeRetainCall(Function &F, Instruction *Retain);
86 contractAutorelease(Function &F, Instruction *Autorelease,
88 SmallPtrSetImpl<Instruction *> &DependingInstructions,
91 void tryToContractReleaseIntoStoreStrong(Instruction *Release,
113 bool ObjCARCContract::optimizeRetainCall(Function &F, Instruction *Retain) {
115 const Instruction *Call = CS.getInstruction();
147 Function &F, Instruction *Autorelease, ARCInstKind Class,
148 SmallPtrSetImpl<Instruction *> &DependingInstructions,
196 Instruction *Release,
216 Instruction *Inst = &*I;
222 // Otherwise, we check if Inst is a "good" store. Grab the instruction class
237 // instruction in between Store and the Release conservatively can not use
249 // our load location, if it can not, just ignore the instruction.
280 static Instruction *
282 Instruction *Release,
288 Instruction *Inst = &*I;
297 Instruction *Retain = I;
332 void ObjCARCContract::tryToContractReleaseIntoStoreStrong(Instruction *Release,
357 Instruction *Retain =
405 Function &F, Instruction *Inst, inst_iterator &Iter,
406 SmallPtrSetImpl<Instruction *> &DependingInsts,
532 SmallPtrSet<Instruction *, 4> DependingInstructions;
535 Instruction *Inst = &*I++;
554 if (!isa<Instruction>(Arg) && !isa<Argument>(Arg))
571 Instruction *Replacement = Inst;
595 cast<Instruction>(U.getUser()));