Home | History | Annotate | Download | only in ObjCARC

Lines Matching defs:Load

195 static StoreInst *findSafeStoreForStoreStrongContraction(LoadInst *Load,
202 // Get the location associated with Load.
203 AliasAnalysis::Location Loc = AA->getLocation(Load);
206 for (auto I = std::next(BasicBlock::iterator(Load)),
207 E = Load->getParent()->end();
240 if (!CanUse(Inst, Load, PA, Class)) {
249 // our load location, if it can not, just ignore the instruction.
257 // understand writing to this memory implying we can not move the load
305 /// Attempt to merge an objc_release with a store, load, and objc_retain to form
312 /// ; Load old value.
313 /// %old_value = load i8** %old_ptr (1)
328 /// optimization it must be safe to move the retain, load, and release to
335 auto *Load = dyn_cast<LoadInst>(GetArgRCIdentityRoot(Release));
336 if (!Load || !Load->isSimple())
341 if (Load->getParent() != BB)
344 // First scan down the BB from Load, looking for a store of the RCIdentityRoot
345 // of Load's
347 findSafeStoreForStoreStrongContraction(Load, Release, PA, AA);
373 << " Load: " << *Load << "\n");
379 Value *Args[] = { Load->getPointerOperand(), New };
400 if (Load->use_empty())
401 Load->eraseFromParent();