Lines Matching refs:MemoryAccess
103 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot()
109 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot()
333 const MemoryAccess *OriginalAccess = nullptr;
339 UpwardsMemoryQuery(const Instruction *Inst, const MemoryAccess *Access) in UpwardsMemoryQuery()
385 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, in checkClobberSanity()
454 upward_defs_begin({const_cast<MemoryAccess *>(MA), MAP.second}), in checkClobberSanity()
487 MemoryAccess *First;
488 MemoryAccess *Last;
491 DefPath(const MemoryLocation &Loc, MemoryAccess *First, MemoryAccess *Last, in DefPath()
495 DefPath(const MemoryLocation &Loc, MemoryAccess *Init, in DefPath()
510 const MemoryAccess *getWalkTarget(const MemoryPhi *From) const { in getWalkTarget()
514 MemoryAccess *Result = MSSA.getLiveOnEntryDef(); in getWalkTarget()
528 MemoryAccess *Result;
539 walkToPhiOrClobber(DefPath &Desc, const MemoryAccess *StopAt = nullptr, in walkToPhiOrClobber()
540 const MemoryAccess *SkipStopAt = nullptr) const { in walkToPhiOrClobber()
543 for (MemoryAccess *Current : def_chain(Desc.Last)) { in walkToPhiOrClobber()
577 MemoryAccess *Clobber;
590 getBlockingAccess(const MemoryAccess *StopWhere, in getBlockingAccess()
623 const MemoryAccess *SkipStopWhere = nullptr; in getBlockingAccess()
730 OptznResult tryOptimizePhi(MemoryPhi *Phi, MemoryAccess *Start, in tryOptimizePhi()
825 MemoryAccess *DefChainEnd = nullptr; in tryOptimizePhi()
840 for (auto *MA : def_chain(const_cast<MemoryAccess *>(Target))) in tryOptimizePhi()
895 MemoryAccess *findClobber(MemoryAccess *Start, UpwardsMemoryQuery &Q) { in findClobber()
898 MemoryAccess *Current = Start; in findClobber()
908 MemoryAccess *Result; in findClobber()
933 MemoryAccess *IncomingVal;
936 MemoryAccess *M) in RenamePassData()
958 MemoryAccess *getClobberingMemoryAccessBase(MemoryAccess *,
966 MemoryAccess *getClobberingMemoryAccessBase(MemoryAccess *, bool);
983 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA) override;
984 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA,
987 void invalidateInfo(MemoryAccess *MA) override { in invalidateInfo()
1008 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA) override;
1009 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA,
1012 void invalidateInfo(MemoryAccess *MA) override { in invalidateInfo()
1025 void MemorySSA::renameSuccessorPhis(BasicBlock *BB, MemoryAccess *IncomingVal, in renameSuccessorPhis()
1047 MemoryAccess *MemorySSA::renameBlock(BasicBlock *BB, MemoryAccess *IncomingVal, in renameBlock()
1053 for (MemoryAccess &L : *Accesses) { in renameBlock()
1071 void MemorySSA::renamePass(DomTreeNode *Root, MemoryAccess *IncomingVal, in renamePass()
1165 for (MemoryAccess &MA : *Pair.second) in ~MemorySSA()
1224 SmallVectorImpl<MemoryAccess *> &,
1249 SmallVectorImpl<MemoryAccess *> &VersionStack, in optimizeUsesInBlock()
1271 for (MemoryAccess &MA : *Accesses) { in optimizeUsesInBlock()
1350 MemoryAccess *Result = Walker->getClobberingMemoryAccess(UseInst); in optimizeUsesInBlock()
1401 SmallVector<MemoryAccess *, 16> VersionStack; in optimizeUses()
1511 void MemorySSA::insertIntoListsForBlock(MemoryAccess *NewAccess, in insertIntoListsForBlock()
1524 *Accesses, [](const MemoryAccess &MA) { return isa<MemoryPhi>(MA); }); in insertIntoListsForBlock()
1529 *Defs, [](const MemoryAccess &MA) { return isa<MemoryPhi>(MA); }); in insertIntoListsForBlock()
1543 void MemorySSA::insertIntoListsBefore(MemoryAccess *What, const BasicBlock *BB, in insertIntoListsBefore()
1571 void MemorySSA::prepareForMoveTo(MemoryAccess *What, BasicBlock *BB) { in prepareForMoveTo()
1593 void MemorySSA::moveTo(MemoryAccess *What, BasicBlock *BB, in moveTo()
1619 MemoryAccess *Definition, in createDefinedAccess()
1696 bool MemorySSA::dominatesUse(const MemoryAccess *Replacer, in dominatesUse()
1697 const MemoryAccess *Replacee) const { in dominatesUse()
1713 void MemorySSA::removeFromLookups(MemoryAccess *MA) { in removeFromLookups()
1740 void MemorySSA::removeFromLists(MemoryAccess *MA, bool ShouldDelete) { in removeFromLists()
1786 void MemorySSA::checkClobberSanityAccess(const MemoryAccess *MA) const { in checkClobberSanityAccess()
1806 for (const MemoryAccess &MA : *Accesses) in verifyClobberSanity()
1833 for (const MemoryAccess &MA : *Accesses) { in verifyDominationNumbers()
1857 SmallVector<MemoryAccess *, 32> ActualAccesses; in verifyOrdering()
1858 SmallVector<MemoryAccess *, 32> ActualDefs; in verifyOrdering()
1862 MemoryAccess *Phi = getMemoryAccess(&B); in verifyOrdering()
1869 MemoryAccess *MA = getMemoryAccess(&I); in verifyOrdering()
1926 MemoryAccess *MD = dyn_cast_or_null<MemoryDef>(getMemoryAccess(&I)); in verifyDomination()
1939 void MemorySSA::verifyUseInDefs(MemoryAccess *Def, MemoryAccess *Use) const { in verifyUseInDefs()
1998 bool MemorySSA::locallyDominates(const MemoryAccess *Dominator, in locallyDominates()
1999 const MemoryAccess *Dominatee) const { in locallyDominates()
2029 bool MemorySSA::dominates(const MemoryAccess *Dominator, in dominates()
2030 const MemoryAccess *Dominatee) const { in dominates()
2042 bool MemorySSA::dominates(const MemoryAccess *Dominator, in dominates()
2050 return locallyDominates(Dominator, cast<MemoryAccess>(Dominatee)); in dominates()
2053 return dominates(Dominator, cast<MemoryAccess>(Dominatee.getUser())); in dominates()
2058 void MemoryAccess::print(raw_ostream &OS) const { in print()
2068 MemoryAccess *UO = getDefiningAccess(); in print()
2070 auto printID = [&OS](MemoryAccess *A) { in print()
2095 MemoryAccess *MA = cast<MemoryAccess>(Op); in print()
2117 MemoryAccess *UO = getDefiningAccess(); in print()
2129 void MemoryAccess::dump() const { in dump()
2213 MemoryAccess *MemorySSA::ClobberWalkerBase::getClobberingMemoryAccessBase( in getClobberingMemoryAccessBase()
2214 MemoryAccess *StartingAccess, const MemoryLocation &Loc) { in getClobberingMemoryAccessBase()
2238 MemoryAccess *DefiningAccess = isa<MemoryUse>(StartingUseOrDef) in getClobberingMemoryAccessBase()
2242 MemoryAccess *Clobber = Walker.findClobber(DefiningAccess, Q); in getClobberingMemoryAccessBase()
2250 MemoryAccess *
2251 MemorySSA::ClobberWalkerBase::getClobberingMemoryAccessBase(MemoryAccess *MA, in getClobberingMemoryAccessBase()
2279 MemoryAccess *LiveOnEntry = MSSA->getLiveOnEntryDef(); in getClobberingMemoryAccessBase()
2285 MemoryAccess *OptimizedAccess; in getClobberingMemoryAccessBase()
2288 MemoryAccess *DefiningAccess = StartingAccess->getDefiningAccess(); in getClobberingMemoryAccessBase()
2312 MemoryAccess *Result; in getClobberingMemoryAccessBase()
2327 MemoryAccess *
2328 MemorySSA::CachingWalker::getClobberingMemoryAccess(MemoryAccess *MA) { in getClobberingMemoryAccess()
2332 MemoryAccess *
2333 MemorySSA::CachingWalker::getClobberingMemoryAccess(MemoryAccess *MA, in getClobberingMemoryAccess()
2338 MemoryAccess *
2339 MemorySSA::SkipSelfWalker::getClobberingMemoryAccess(MemoryAccess *MA) { in getClobberingMemoryAccess()
2343 MemoryAccess *
2344 MemorySSA::SkipSelfWalker::getClobberingMemoryAccess(MemoryAccess *MA, in getClobberingMemoryAccess()
2349 MemoryAccess *
2350 DoNothingMemorySSAWalker::getClobberingMemoryAccess(MemoryAccess *MA) { in getClobberingMemoryAccess()
2356 MemoryAccess *DoNothingMemorySSAWalker::getClobberingMemoryAccess( in getClobberingMemoryAccess()
2357 MemoryAccess *StartingAccess, const MemoryLocation &) { in getClobberingMemoryAccess()