Lines Matching refs:MemoryAccess

42 MemoryAccess *MemorySSAUpdater::getPreviousDefRecursive(  in getPreviousDefRecursive()
44 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefRecursive()
54 MemoryAccess *Result = getPreviousDefFromEnd(Pred, CachedPreviousDef); in getPreviousDefRecursive()
63 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
70 SmallVector<TrackingVH<MemoryAccess>, 8> PhiOps; in getPreviousDefRecursive()
120 MemoryAccess *MemorySSAUpdater::getPreviousDef(MemoryAccess *MA) { in getPreviousDef()
123 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> CachedPreviousDef; in getPreviousDef()
130 MemoryAccess *MemorySSAUpdater::getPreviousDefInBlock(MemoryAccess *MA) { in getPreviousDefInBlock()
146 return cast<MemoryAccess>(&U); in getPreviousDefInBlock()
155 MemoryAccess *MemorySSAUpdater::getPreviousDefFromEnd( in getPreviousDefFromEnd()
157 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefFromEnd()
166 MemoryAccess *MemorySSAUpdater::recursePhi(MemoryAccess *Phi) { in recursePhi()
169 TrackingVH<MemoryAccess> Res(Phi); in recursePhi()
187 MemoryAccess *MemorySSAUpdater::tryRemoveTrivialPhi(MemoryPhi *Phi, in tryRemoveTrivialPhi()
194 MemoryAccess *Same = nullptr; in tryRemoveTrivialPhi()
202 Same = cast<MemoryAccess>(&*Op); in tryRemoveTrivialPhi()
232 MemoryAccess *NewDef) { in setMemoryPhiValueForBlock()
258 MemoryAccess *DefBefore = getPreviousDef(MD); in insertDef()
309 MemoryAccess *FirstDef = &*MSSA->getWritableBlockDefs(StartBlock)->begin(); in insertDef()
330 MemoryAccess *NewDef = dyn_cast_or_null<MemoryAccess>(Var); in fixupDefs()
408 MPhi->unorderedDeleteIncomingIf([&](const MemoryAccess *, BasicBlock *B) { in removeDuplicatePhiEdgesBetween() argument
424 auto GetNewDefiningAccess = [&](MemoryAccess *MA) -> MemoryAccess * { in cloneUsesAndDefs()
425 MemoryAccess *InsnDefining = MA; in cloneUsesAndDefs()
436 if (MemoryAccess *NewDefPhi = MPhiMap.lookup(DefPhi)) in cloneUsesAndDefs()
446 for (const MemoryAccess &MA : *Acc) { in cloneUsesAndDefs()
455 MemoryAccess *NewUseOrDef = MSSA->createDefinedAccess( in cloneUsesAndDefs()
475 MemoryAccess *IncomingAccess = Phi->getIncomingValue(It); in updateForClonedLoop()
505 if (MemoryAccess *NewDefPhi = MPhiMap.lookup(IncPhi)) in updateForClonedLoop()
535 if (MemoryAccess *NewPhi = MPhiMap.lookup(MPhi)) in updateForClonedLoop()
630 auto GetLastDef = [&](BasicBlock *BB) -> MemoryAccess * { in applyInsertUpdates()
784 SmallDenseMap<BasicBlock *, MemoryAccess *> LastDefAddedPred; in applyInsertUpdates()
804 MemoryAccess *DefP1 = GetLastDef(P1); in applyInsertUpdates()
888 MemoryAccess *Usr = dyn_cast<MemoryAccess>(U.getUser()); in applyInsertUpdates()
961 MemoryAccess *FirstInNew = nullptr; in moveAllAccesses()
1005 static MemoryAccess *onlySingleValue(MemoryPhi *MP) { in onlySingleValue()
1006 MemoryAccess *MA = nullptr; in onlySingleValue()
1010 MA = cast<MemoryAccess>(Arg); in onlySingleValue()
1040 Phi->unorderedDeleteIncomingIf([&](MemoryAccess *MA, BasicBlock *B) { in wireOldPredecessorsToNewImmediatePredecessor()
1055 void MemorySSAUpdater::removeMemoryAccess(MemoryAccess *MA) { in removeMemoryAccess()
1060 MemoryAccess *NewDefTarget = nullptr; in removeMemoryAccess()
1118 for (MemoryAccess &MA : *Acc) in removeBlocks()
1128 MemoryAccess *MA = &*AB; in removeBlocks()
1136 MemoryAccess *MemorySSAUpdater::createMemoryAccessInBB( in createMemoryAccessInBB()
1137 Instruction *I, MemoryAccess *Definition, const BasicBlock *BB, in createMemoryAccessInBB()
1145 Instruction *I, MemoryAccess *Definition, MemoryUseOrDef *InsertPt) { in createMemoryAccessBefore()
1155 Instruction *I, MemoryAccess *Definition, MemoryAccess *InsertPt) { in createMemoryAccessAfter()