Home
last modified time | relevance | path

Searched refs:MemoryPhi (Results 1 – 11 of 11) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DMemorySSAUpdater.cpp89 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB)); in getPreviousDefRecursive()
192 if (MemoryPhi *UsePhi = dyn_cast<MemoryPhi>(&*U)) in recursePhi()
202 MemoryAccess *MemorySSAUpdater::tryRemoveTrivialPhi(MemoryPhi *Phi) { in tryRemoveTrivialPhi()
208 MemoryAccess *MemorySSAUpdater::tryRemoveTrivialPhi(MemoryPhi *Phi, in tryRemoveTrivialPhi()
279 if (MemoryPhi *Phi = cast_or_null<MemoryPhi>(MP)) in insertUse()
284 // Set every incoming edge {BB, MP->getBlock()} of MemoryPhi MP to NewDef.
285 static void setMemoryPhiValueForBlock(MemoryPhi *M
[all...]
H A DMemorySSA.cpp459 assert(isa<MemoryPhi>(MA)); in checkClobberSanity()
482 assert((isa<MemoryPhi>(ClobberAt) || FoundClobber) && in checkClobberSanity()
527 const MemoryAccess *getWalkTarget(const MemoryPhi *From) const { in getWalkTarget()
589 assert(isa<MemoryPhi>(Desc.Last) && in walkToPhiOrClobber()
594 void addSearches(MemoryPhi *Phi, SmallVectorImpl<ListIndex> &PausedSearches, in addSearches()
689 addSearches(cast<MemoryPhi>(Res.Result), PausedSearches, PathIndex); in getBlockingAccess()
764 OptznResult tryOptimizePhi(MemoryPhi *Phi, MemoryAccess *Start, in tryOptimizePhi()
793 MemoryPhi *Current = Phi; in tryOptimizePhi()
901 auto *DefChainPhi = cast<MemoryPhi>(DefChainEnd); in tryOptimizePhi()
953 OptznResult OptRes = tryOptimizePhi(cast<MemoryPhi>(FirstDesc.Last), in findClobber()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemorySSA.h211 friend class MemoryPhi; variable
480 class MemoryPhi final : public MemoryAccess {
490 MemoryPhi(LLVMContext &C, BasicBlock *BB, unsigned Ver, unsigned NumPreds = 0)
663 assert((isa<MemoryDef>(this) || isa<MemoryPhi>(this)) &&
667 return cast<MemoryPhi>(this)->getID();
696 template <> struct OperandTraits<MemoryPhi> : public HungoffOperandTraits<2> {};
697 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(MemoryPhi, MemoryAccess)
723 MemoryPhi *getMemoryAccess(const BasicBlock *BB) const {
724 return cast_or_null<MemoryPhi>(ValueToMemoryAccess.lookup(cast<Value>(BB)));
863 MemoryPhi *createMemoryPhi(BasicBlock *BB);
[all …]
H A DMemorySSAUpdater.h51 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>;
63 SmallSet<AssertingVH<MemoryPhi>, 8> NonOptPhis;
87 /// Update the MemoryPhi in `To` following an edge deletion between `From` and
90 /// Update the MemoryPhi in `To` to have a single incoming edge from `From`,
257 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi);
259 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
263 // instructions and blocks cloned, and a map of MemoryPhi : Definition
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/
H A DAMDGPUMemoryUtils.cpp363 const MemoryPhi *Phi = cast<MemoryPhi>(MA); in isClobberedInFunction()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DNewGVN.cpp296 using MemoryMemberType = MemoryPhi;
605 DenseMap<const MemoryPhi *, MemoryPhiState> MemoryPhiState;
776 void valueNumberMemoryPhi(MemoryPhi *);
869 MemoryPhi *getMemoryAccess(const BasicBlock *) const;
945 MemoryPhi *NewGVN::getMemoryAccess(const BasicBlock *BB) const { in getMemoryAccess()
960 auto *MP = dyn_cast<MemoryPhi>(V); in getBlockForValue()
1673 if (auto *MP = dyn_cast<MemoryPhi>(From)) { in setMemoryClass()
2168 return getMinDFSOfRange<const MemoryPhi>(CC->memory()); in getNextMemoryLeader()
2716 if (MemAccess && !isa<MemoryPhi>(MemAccess->getDefiningAccess()) && in makePossiblePHIOfOps()
2903 const MemoryPhi *MP = cast<MemoryPhi>(&Def); in initializeCongruenceClasses()
[all …]
H A DGVNHoist.cpp999 SmallPtrSet<MemoryPhi *, 4> UsePhis; in raMPHIuw()
1001 if (MemoryPhi *Phi = dyn_cast<MemoryPhi>(U)) in raMPHIuw()
1004 for (MemoryPhi *Phi : UsePhis) { in raMPHIuw()
H A DDeadStoreElimination.cpp1185 if (isa<MemoryPhi>(UseAccess)) { in isWriteAtEndOfFunction()
1192 pushMemUses(cast<MemoryPhi>(UseAccess), WorkList, Visited); in isWriteAtEndOfFunction()
1383 if (isa<MemoryPhi>(Current)) { in getDomMemoryDef()
1523 if (isa<MemoryPhi>(UseAccess)) { in getDomMemoryDef()
2032 if (auto PhiAccess = dyn_cast<MemoryPhi>(Current)) { in storeIsNoop()
2201 if (isa<MemoryPhi>(DeadAccess)) { in eliminateDeadStores()
2203 for (Value *V : cast<MemoryPhi>(DeadAccess)->incoming_values()) { in eliminateDeadStores()
H A DLICM.cpp1135 if (isa<MemoryPhi>(&Acc)) in isOnlyMemoryAccess()
2365 … !(InvariantGroup && Source->getBlock() == CurLoop->getHeader() && isa<MemoryPhi>(Source)); in pointerInvalidatedByLoop()
H A DSimpleLoopUnswitch.cpp316 if (auto *MemPhi = dyn_cast<MemoryPhi>(DefiningAccess)) in buildPartialInvariantUnswitchConditionalBranch()
1073 if (!isa<MemoryPhi>(*Defs->begin()) || (++Defs->begin() != Defs->end())) in unswitchAllTrivialConditions()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DValue.def122 HANDLE_MEMORY_VALUE(MemoryPhi)