Home | History | Annotate | Download | only in ObjCARC

Lines Matching defs:Calls

231 // calls followed by objc_autoreleasePoolPop calls (perhaps in ObjC++ code
232 // after inlining) can be turned into plain release calls.
242 // TODO: Recognize that a bunch of other objc runtime calls have
246 // TODO: Sink autorelease calls as far as possible. Unfortunately we
247 // usually can't sink them past other calls, which would be the main
254 STATISTIC(NumNoops, "Number of no-op objc calls eliminated");
255 STATISTIC(NumPartialNoops, "Number of partially no-op objc calls eliminated");
260 STATISTIC(NumPeeps, "Number of calls peephole-optimized");
357 /// True of the objc_release calls are all marked with the "tail" keyword.
360 /// If the Calls are objc_release calls and they all have a
366 SmallPtrSet<Instruction *, 2> Calls;
368 /// The set of optimal insert positions for moving calls in the opposite
393 Calls.clear();
409 Calls.insert(Other.Calls.begin(), Other.Calls.end());
429 /// pushing calls into a CFG triangle or into one side of a CFG diamond.
516 RRI.Calls.insert(I);
1300 // Visit all objc_* calls in F.
1311 // Delete no-op casts. These function calls have special semantics, but
1313 // so by the time they reach the optimizer, they are just no-op calls
1438 // ARC calls with null are no-ops. Delete them.
1442 DEBUG(dbgs() << "ARC calls with null are no-ops. Erasing: " << *Inst
2288 /// Move the calls in RetainsToMove and ReleasesToMove.
2301 // Insert the new retain and release calls.
2335 // Delete the original retain and release calls.
2337 AI = RetainsToMove.Calls.begin(),
2338 AE = RetainsToMove.Calls.end(); AI != AE; ++AI) {
2345 AI = ReleasesToMove.Calls.begin(),
2346 AE = ReleasesToMove.Calls.end(); AI != AE; ++AI) {
2377 // bottom-up-collected ReleasesToMove to form sets of related calls.
2396 LI = NewRetainRRI.Calls.begin(),
2397 LE = NewRetainRRI.Calls.end(); LI != LE; ++LI) {
2410 if (!NewRetainReleaseRRI.Calls.count(NewRetain))
2413 if (ReleasesToMove.Calls.insert(NewRetainRelease)) {
2480 LI = NewReleaseRRI.Calls.begin(),
2481 LE = NewReleaseRRI.Calls.end(); LI != LE; ++LI) {
2494 if (!NewReleaseRetainRRI.Calls.count(NewRelease))
2497 if (RetainsToMove.Calls.insert(NewReleaseRetain)) {
2551 // balance of retain and release calls through the program.
2567 // release calls through the program. If not, conservatively don't touch
2575 // Do not move calls if ARC annotations are requested.
2586 // We can move calls!
2634 // bottom-up-collected ReleasesToMove to form sets of related calls.
2680 // Delete objc_loadWeak calls with no users.
2765 // (and arbitrary calls, which could call the weak entry points).
2825 // map stays valid when we get around to rewriting code and calls get
3051 // calls finalizers which can have arbitrary side effects.