Home | History | Annotate | Download | only in ObjCARC

Lines Matching full:autorelease

313 // The second retain and autorelease can be deleted.
317 // pairs if nothing is actually autoreleased between them. Also, autorelease
333 // TODO: Sink autorelease calls as far as possible. Unfortunately we
1514 DEBUG(dbgs() << "Replacing autorelease{,RV}(x) with objc_release(x) "
1567 // Keep track of which of retain, release, autorelease, and retain_block
1621 // These can't be moved across autorelease pool scope boundaries.
2967 /// Find a dependent retain that precedes the given autorelease for which there
2972 Instruction *Autorelease,
2977 BB, Autorelease, DepInsts, Visited, PA);
2994 /// Look for an ``autorelease'' instruction dependent on Arg such that there are
2996 /// the autorelease and the ret.
3008 CallInst *Autorelease =
3010 if (!Autorelease)
3012 InstructionClass AutoreleaseClass = GetBasicInstructionClass(Autorelease);
3015 if (GetObjCArg(Autorelease) != Arg)
3018 return Autorelease;
3028 /// And delete the retain and autorelease.
3048 // Look for an ``autorelease'' instruction that is a predecessor of Ret and
3050 // that need a positive ref count in between the autorelease and Ret.
3051 CallInst *Autorelease =
3058 if (!Autorelease)
3062 FindPredecessorRetainWithSafePath(Arg, BB, Autorelease,
3081 // If so, we can zap the retain and autorelease.
3085 << *Autorelease << "\n");
3087 EraseInstruction(Autorelease);