Home | History | Annotate | Download | only in ObjCARC

Lines Matching refs:Autorelease

133 // The second retain and autorelease can be deleted.
137 // pairs if nothing is actually autoreleased between them. Also, autorelease
153 // TODO: Sink autorelease calls as far as possible. Unfortunately we
663 Constant *NewDecl = EP.get(ARCRuntimeEntryPointKind::Autorelease);
666 Class = ARCInstKind::Autorelease;
775 DEBUG(dbgs() << "Replacing autorelease{,RV}(x) with objc_release(x) "
828 // Keep track of which of retain, release, autorelease, and retain_block
881 case ARCInstKind::Autorelease:
882 // These can't be moved across autorelease pool scope boundaries.
2017 /// Find a dependent retain that precedes the given autorelease for which there
2022 Instruction *Autorelease,
2027 BB, Autorelease, DepInsts, Visited, PA);
2042 /// Look for an ``autorelease'' instruction dependent on Arg such that there are
2044 /// the autorelease and the ret.
2056 auto *Autorelease = dyn_cast_or_null<CallInst>(*DepInsts.begin());
2057 if (!Autorelease)
2059 ARCInstKind AutoreleaseClass = GetBasicARCInstKind(Autorelease);
2062 if (GetArgRCIdentityRoot(Autorelease) != Arg)
2065 return Autorelease;
2075 /// And delete the retain and autorelease.
2095 // Look for an ``autorelease'' instruction that is a predecessor of Ret and
2097 // that need a positive ref count in between the autorelease and Ret.
2098 CallInst *Autorelease =
2105 if (!Autorelease)
2109 FindPredecessorRetainWithSafePath(Arg, BB, Autorelease,
2128 // If so, we can zap the retain and autorelease.
2132 << *Autorelease << "\n");
2134 EraseInstruction(Autorelease);
2230 if (UsedInThisFunction & ((1 << unsigned(ARCInstKind::Autorelease)) |