Lines Matching refs:MemoryAccess
43 MemoryAccess *MemorySSAUpdater::getPreviousDefRecursive( in getPreviousDefRecursive()
45 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefRecursive()
59 MemoryAccess *Result = getPreviousDefFromEnd(Pred, CachedPreviousDef); in getPreviousDefRecursive()
68 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
75 SmallVector<TrackingVH<MemoryAccess>, 8> PhiOps; in getPreviousDefRecursive()
81 MemoryAccess *SingleAccess = nullptr; in getPreviousDefRecursive()
144 MemoryAccess *MemorySSAUpdater::getPreviousDef(MemoryAccess *MA) { in getPreviousDef()
147 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> CachedPreviousDef; in getPreviousDef()
154 MemoryAccess *MemorySSAUpdater::getPreviousDefInBlock(MemoryAccess *MA) { in getPreviousDefInBlock()
170 return cast<MemoryAccess>(&U); in getPreviousDefInBlock()
179 MemoryAccess *MemorySSAUpdater::getPreviousDefFromEnd( in getPreviousDefFromEnd()
181 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefFromEnd()
192 MemoryAccess *MemorySSAUpdater::recursePhi(MemoryAccess *Phi) { in recursePhi()
195 TrackingVH<MemoryAccess> Res(Phi); in recursePhi()
209 MemoryAccess *MemorySSAUpdater::tryRemoveTrivialPhi(MemoryPhi *Phi) { in tryRemoveTrivialPhi()
215 MemoryAccess *MemorySSAUpdater::tryRemoveTrivialPhi(MemoryPhi *Phi, in tryRemoveTrivialPhi()
222 MemoryAccess *Same = nullptr; in tryRemoveTrivialPhi()
230 Same = cast<MemoryAccess>(&*Op); in tryRemoveTrivialPhi()
274 MemoryAccess *FirstDef = &*Defs->begin(); in insertUse()
292 MemoryAccess *NewDef) { in setMemoryPhiValueForBlock()
318 MemoryAccess *DefBefore = getPreviousDef(MD); in insertDef()
398 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> CachedPreviousDef; in insertDef()
438 MemoryAccess *FirstDef = &*MSSA->getWritableBlockDefs(StartBlock)->begin(); in insertDef()
466 MemoryAccess *NewDef = dyn_cast_or_null<MemoryAccess>(Var); in fixupDefs()
543 MPhi->unorderedDeleteIncomingIf([&](const MemoryAccess *, BasicBlock *B) { in removeDuplicatePhiEdgesBetween() argument
557 static MemoryAccess *onlySingleValue(MemoryPhi *MP) { in onlySingleValue()
558 MemoryAccess *MA = nullptr; in onlySingleValue()
562 MA = cast<MemoryAccess>(Arg); in onlySingleValue()
569 static MemoryAccess *getNewDefiningAccessForClone(MemoryAccess *MA, in getNewDefiningAccessForClone()
574 MemoryAccess *InsnDefining = MA; in getNewDefiningAccessForClone()
599 if (MemoryAccess *NewDefPhi = MPhiMap.lookup(DefPhi)) in getNewDefiningAccessForClone()
613 for (const MemoryAccess &MA : *Acc) { in cloneUsesAndDefs()
625 MemoryAccess *NewUseOrDef = MSSA->createDefinedAccess( in cloneUsesAndDefs()
648 MemoryAccess *UniqueValue = nullptr; in updatePhisWhenInsertingUniqueBackedgeBlock()
651 MemoryAccess *IV = MPhi->getIncomingValue(I); in updatePhisWhenInsertingUniqueBackedgeBlock()
689 MemoryAccess *IncomingAccess = Phi->getIncomingValue(It); in updateForClonedLoop()
719 if (MemoryAccess *NewDefPhi = MPhiMap.lookup(IncPhi)) in updateForClonedLoop()
753 if (MemoryAccess *NewPhi = MPhiMap.lookup(MPhi)) in updateForClonedLoop()
866 auto GetLastDef = [&](BasicBlock *BB) -> MemoryAccess * { in applyInsertUpdates()
1022 SmallDenseMap<BasicBlock *, MemoryAccess *> LastDefAddedPred; in applyInsertUpdates()
1042 MemoryAccess *DefP1 = GetLastDef(P1); in applyInsertUpdates()
1139 MemoryAccess *Usr = cast<MemoryAccess>(U.getUser()); in applyInsertUpdates()
1220 MemoryAccess *FirstInNew = nullptr; in moveAllAccesses()
1291 Phi->unorderedDeleteIncomingIf([&](MemoryAccess *MA, BasicBlock *B) { in wireOldPredecessorsToNewImmediatePredecessor()
1305 void MemorySSAUpdater::removeMemoryAccess(MemoryAccess *MA, bool OptimizePhis) { in removeMemoryAccess()
1310 MemoryAccess *NewDefTarget = nullptr; in removeMemoryAccess()
1386 for (MemoryAccess &MA : *Acc) in removeBlocks()
1395 for (MemoryAccess &MA : llvm::make_early_inc_range(*Acc)) { in removeBlocks()
1429 MemoryAccess *MemorySSAUpdater::createMemoryAccessInBB( in createMemoryAccessInBB()
1430 Instruction *I, MemoryAccess *Definition, const BasicBlock *BB, in createMemoryAccessInBB()
1438 Instruction *I, MemoryAccess *Definition, MemoryUseOrDef *InsertPt) { in createMemoryAccessBefore()
1448 Instruction *I, MemoryAccess *Definition, MemoryAccess *InsertPt) { in createMemoryAccessAfter()