| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | MemorySSA.h | 115 class MemoryAccess; variable 142 class MemoryAccess 152 MemoryAccess(const MemoryAccess &) = delete; 153 MemoryAccess &operator=(const MemoryAccess &) = delete; 789 bool dominates(const MemoryAccess *A, const MemoryAccess *B) const; 866 void verifyUseInDefs(MemoryAccess *, MemoryAccess *) const; 877 MemoryAccess *renameBlock(BasicBlock *, MemoryAccess *, bool); 1066 virtual MemoryAccess *getClobberingMemoryAccess(MemoryAccess *) = 0; 1079 virtual MemoryAccess *getClobberingMemoryAccess(MemoryAccess *, 1103 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *) override; [all …]
|
| H A D | MemorySSAUpdater.h | 51 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>; 190 MemoryAccess *createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition, 208 MemoryAccess *Definition, 209 MemoryAccess *InsertPt); 223 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 251 MemoryAccess *getPreviousDef(MemoryAccess *); 252 MemoryAccess *getPreviousDefInBlock(MemoryAccess *); 253 MemoryAccess * 256 MemoryAccess * 259 MemoryAccess *recursePhi(MemoryAccess *Phi); [all …]
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | MemorySSA.cpp | 419 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, in checkClobberSanity() 1040 MemoryAccess *getClobberingMemoryAccessBase(MemoryAccess *, 1070 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA, in getClobberingMemoryAccess() 1081 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA) override { in getClobberingMemoryAccess() 1085 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA, in getClobberingMemoryAccess() 1111 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA, in getClobberingMemoryAccess() 1121 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA, in getClobberingMemoryAccess() 2234 MemoryAccess *MA = cast<MemoryAccess>(Op); in print() 2468 MemoryAccess * 2567 MemoryAccess * [all …]
|
| H A D | MemorySSAUpdater.cpp | 137 MemoryAccess *MemorySSAUpdater::getPreviousDef(MemoryAccess *MA) { in getPreviousDef() 147 MemoryAccess *MemorySSAUpdater::getPreviousDefInBlock(MemoryAccess *MA) { in getPreviousDefInBlock() 185 MemoryAccess *MemorySSAUpdater::recursePhi(MemoryAccess *Phi) { in recursePhi() 188 TrackingVH<MemoryAccess> Res(Phi); in recursePhi() 215 MemoryAccess *Same = nullptr; in tryRemoveTrivialPhi() 466 MemoryAccess *NewDef = dyn_cast_or_null<MemoryAccess>(Var); in fixupDefs() 557 MemoryAccess *MA = nullptr; in onlySingleValue() 568 static MemoryAccess *getNewDefiningAccessForClone(MemoryAccess *MA, in getNewDefiningAccessForClone() 573 MemoryAccess *InsnDefining = MA; in getNewDefiningAccessForClone() 1139 MemoryAccess *Usr = cast<MemoryAccess>(U.getUser()); in applyInsertUpdates() [all …]
|
| /llvm-project-15.0.7/compiler-rt/lib/tsan/rtl-old/ |
| H A D | tsan_interface.inc | 22 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 1, kAccessRead); 26 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 2, kAccessRead); 30 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 4, kAccessRead); 34 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 8, kAccessRead); 38 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 1, kAccessWrite); 42 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 2, kAccessWrite); 46 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 4, kAccessWrite); 50 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 8, kAccessWrite); 54 MemoryAccess(cur_thread(), STRIP_PAC_PC(pc), (uptr)addr, 1, kAccessRead | kAccessExternalPC); 151 MemoryAccess(cur_thread(), CALLERPC, (uptr)vptr_p, sizeof(*vptr_p), [all …]
|
| H A D | tsan_interface.cpp | 32 MemoryAccess(thr, pc, (uptr)addr, 8, kAccessRead); in __tsan_read16() 33 MemoryAccess(thr, pc, (uptr)addr + 8, 8, kAccessRead); in __tsan_read16() 39 MemoryAccess(thr, pc, (uptr)addr, 8, kAccessWrite); in __tsan_write16() 40 MemoryAccess(thr, pc, (uptr)addr + 8, 8, kAccessWrite); in __tsan_write16() 46 MemoryAccess(thr, pc_no_pac, (uptr)addr, 8, kAccessRead); in __tsan_read16_pc() 47 MemoryAccess(thr, pc_no_pac, (uptr)addr + 8, 8, kAccessRead); in __tsan_read16_pc() 53 MemoryAccess(thr, pc_no_pac, (uptr)addr, 8, kAccessWrite); in __tsan_write16_pc() 54 MemoryAccess(thr, pc_no_pac, (uptr)addr + 8, 8, kAccessWrite); in __tsan_write16_pc()
|
| H A D | tsan_fd.cpp | 118 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in init() 166 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAcquire() 177 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdRelease() 187 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAccess() 197 MemoryAccess(thr, pc, (uptr)d, 8, kAccessWrite); in FdClose() 207 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdClose() 231 MemoryAccess(thr, pc, (uptr)od, 8, kAccessRead); in FdDup()
|
| /llvm-project-15.0.7/compiler-rt/lib/tsan/rtl/ |
| H A D | tsan_interface.inc | 22 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 1, kAccessRead); 26 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 2, kAccessRead); 30 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 4, kAccessRead); 34 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 8, kAccessRead); 42 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 1, kAccessWrite); 46 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 2, kAccessWrite); 50 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 4, kAccessWrite); 54 MemoryAccess(cur_thread(), CALLERPC, (uptr)addr, 8, kAccessWrite); 62 MemoryAccess(cur_thread(), STRIP_PAC_PC(pc), (uptr)addr, 1, kAccessRead | kAccessExternalPC); 159 MemoryAccess(cur_thread(), CALLERPC, (uptr)vptr_p, sizeof(*vptr_p), [all …]
|
| H A D | tsan_interface.cpp | 32 MemoryAccess(thr, pc_no_pac, (uptr)addr, 8, kAccessRead); in __tsan_read16_pc() 33 MemoryAccess(thr, pc_no_pac, (uptr)addr + 8, 8, kAccessRead); in __tsan_read16_pc() 39 MemoryAccess(thr, pc_no_pac, (uptr)addr, 8, kAccessWrite); in __tsan_write16_pc() 40 MemoryAccess(thr, pc_no_pac, (uptr)addr + 8, 8, kAccessWrite); in __tsan_write16_pc()
|
| H A D | tsan_fd.cpp | 133 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead | kAccessSlotLocked); in init() 181 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAcquire() 192 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdRelease() 204 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAccess() 219 MemoryAccess(thr, pc, (uptr)d, 8, in FdClose() 231 MemoryAccess(thr, pc, (uptr)d, 8, in FdClose() 262 MemoryAccess(thr, pc, (uptr)od, 8, kAccessRead); in FdDup()
|
| /llvm-project-15.0.7/polly/include/polly/ |
| H A D | ScopInfo.h | 70 class MemoryAccess; variable 431 class MemoryAccess final { 725 MemoryAccess(const MemoryAccess &) = delete; 726 MemoryAccess &operator=(const MemoryAccess &) = delete; 727 ~MemoryAccess(); 1094 MemoryAccess *MA; 1267 void removeAccessData(MemoryAccess *MA); 1414 MemoryAccess *ArrayAccess = nullptr; in getArrayAccessOrNULLFor() 1600 MemoryAccess *ensureValueRead(Value *V); 1878 MemoryAccess *lookupBasePtrAccess(MemoryAccess *MA); [all …]
|
| H A D | ZoneAlgo.h | 33 class MemoryAccess; variable 186 void addArrayReadAccess(MemoryAccess *MA); 193 isl::union_map getWrittenValue(MemoryAccess *MA, isl::map AccRel); 195 void addArrayWriteAccess(MemoryAccess *MA); 231 isl::map getScatterFor(MemoryAccess *MA) const; 243 isl::set getDomainFor(MemoryAccess *MA) const; 248 isl::map getAccessRelationFor(MemoryAccess *MA) const; 348 bool isCompatibleAccess(MemoryAccess *MA); 365 bool isNormalizable(MemoryAccess *MA);
|
| H A D | ScopBuilder.h | 365 using AliasGroupTy = SmallVector<MemoryAccess *, 4>; 494 MemoryAccess *addMemoryAccess(ScopStmt *Stmt, Instruction *Inst, 495 MemoryAccess::AccessType AccType, 516 MemoryAccess::AccessType AccType, Value *BaseAddress, 643 bool canAlwaysBeHoisted(MemoryAccess *MA, bool StmtInvalidCtxIsEmpty, 653 bool hasNonHoistableBasePtrInScop(MemoryAccess *MA, isl::union_map Writes); 662 isl::set getNonHoistableCtx(MemoryAccess *Access, isl::union_map Writes); 674 void collectCandidateReductionLoads(MemoryAccess *StoreMA, 675 SmallVectorImpl<MemoryAccess *> &Loads);
|
| /llvm-project-15.0.7/polly/lib/Transform/ |
| H A D | Simplify.cpp | 398 MemoryAccess *OtherMA = (MemoryAccess *)Map.get_space() in coalesceWrites() 439 MemoryAccess *MA = (MemoryAccess *)Map.get_space() in coalesceWrites() 449 MemoryAccess *MA = (MemoryAccess *)FutureWrite.get_space() in coalesceWrites() 505 for (MemoryAccess *MA : Accesses) { in removeRedundantWrites() 589 for (MemoryAccess *MA : Stmt) { in removeEmptyPartialAccesses() 614 DenseSet<MemoryAccess *> UsedMA; in markAndSweep() 623 SmallVector<MemoryAccess *, 64> AllMAs; in markAndSweep() 627 for (MemoryAccess *MA : AllMAs) { in markAndSweep() 829 for (MemoryAccess *MemAcc : Stmt) in getAccessesInOrder() 833 for (MemoryAccess *MemAcc : Stmt) in getAccessesInOrder() [all …]
|
| H A D | MaximalStaticExpansion.cpp | 93 MemoryAccess *MA) { in filterDependences() 138 SmallPtrSetImpl<MemoryAccess *> &Writes, in isExpandable() 139 SmallPtrSetImpl<MemoryAccess *> &Reads, Scop &S) { in isExpandable() 181 for (MemoryAccess *MA : Stmt) { in isExpandable() 289 void mapAccess(SmallPtrSetImpl<MemoryAccess *> &Accesses, in mapAccess() 326 ScopArrayInfo *expandAccess(MemoryAccess *MA) { in expandAccess() 402 SmallPtrSet<MemoryAccess *, 4> Writes; in expandPhi() 424 SmallPtrSet<MemoryAccess *, 4> AllWrites; in expand() 425 SmallPtrSet<MemoryAccess *, 4> AllReads; in expand()
|
| H A D | ZoneAlgo.cpp | 391 void ZoneAlgorithm::addArrayReadAccess(MemoryAccess *MA) { in addArrayReadAccess() 447 void ZoneAlgorithm::addArrayWriteAccess(MemoryAccess *MA) { in addArrayWriteAccess() 558 for (MemoryAccess *MA : S->getPHIIncomings(SAI)) { in computePerPHI() 642 isl::set ZoneAlgorithm::getDomainFor(MemoryAccess *MA) const { in getDomainFor() 889 bool ZoneAlgorithm::isCompatibleAccess(MemoryAccess *MA) { in isCompatibleAccess() 898 bool ZoneAlgorithm::isNormalizable(MemoryAccess *MA) { in isNormalizable() 918 for (MemoryAccess *Incoming : Incomings) { in isNormalizable() 946 MemoryAccess *PHIRead = IncomingStmt->lookupPHIReadOf(PHI); in isNormalized() 1002 for (MemoryAccess *MA : Stmt) { in computeNormalizedPHIs() 1024 for (MemoryAccess *MA : Stmt) { in computeNormalizedPHIs() [all …]
|
| /llvm-project-15.0.7/polly/lib/Analysis/ |
| H A D | ScopInfo.cpp | 528 MemoryAccess::getReductionOperatorStr(MemoryAccess::ReductionType RT) { in getReductionOperatorStr() 533 case MemoryAccess::RT_ADD: in getReductionOperatorStr() 535 case MemoryAccess::RT_MUL: in getReductionOperatorStr() 537 case MemoryAccess::RT_BOR: in getReductionOperatorStr() 857 MemoryAccess::MemoryAccess(ScopStmt *Stmt, Instruction *AccessInst, in MemoryAccess() function in MemoryAccess 876 MemoryAccess::MemoryAccess(ScopStmt *Stmt, AccessType AccType, isl::map AccRel) in MemoryAccess() function in MemoryAccess 893 MemoryAccess::~MemoryAccess() = default; 1191 new MemoryAccess(this, MemoryAccess::AccessType::MUST_WRITE, TargetRel); in ScopStmt() 1195 Access = new MemoryAccess(this, MemoryAccess::AccessType::READ, SourceRel); in ScopStmt() 1336 Access = new MemoryAccess(this, nullptr, MemoryAccess::READ, V, V->getType(), in ensureValueRead() [all …]
|
| H A D | ScopBuilder.cpp | 1450 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessMultiDimFixed() 1512 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessMultiDimParam() 1661 auto AccType = ReadOnly ? MemoryAccess::READ : MemoryAccess::MAY_WRITE; in buildAccessCallInst() 1692 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessSingleDim() 2480 return MemoryAccess::RT_NONE; in getReductionType() 2487 return MemoryAccess::RT_ADD; in getReductionType() 2489 return MemoryAccess::RT_BOR; in getReductionType() 2501 return MemoryAccess::RT_MUL; in getReductionType() 2509 SmallVector<std::pair<MemoryAccess *, MemoryAccess *>, 4> Candidates; in checkForReductions() 2919 MemoryAccess *StoreMA, SmallVectorImpl<MemoryAccess *> &Loads) { in collectCandidateReductionLoads() [all …]
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | VirtualInstruction.cpp | 37 MemoryAccess *IncomingMA = nullptr; in create() 81 MemoryAccess *InputMA = nullptr; in create() 192 static bool isEscaping(MemoryAccess *MA) { in isEscaping() 278 ArrayRef<MemoryAccess *> RootAccs, in walkReachable() 280 DenseSet<MemoryAccess *> &UsedAccs, in walkReachable() 286 SmallVector<MemoryAccess *, 32> WorklistAccs; in walkReachable() 334 MemoryAccess *DefAcc = S->getValueDef(SAI); in walkReachable() 388 if (MemoryAccess *PHIRead = Stmt->lookupPHIReadOf(PHI)) in walkReachable() 400 for (MemoryAccess *Acc : *Accs) in walkReachable() 407 DenseSet<MemoryAccess *> &UsedAccs, in markReachable() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | MemorySSATest.cpp | 229 MemoryAccess *StoreAccess = in TEST_F() 286 MemoryAccess * NewLoadAccess = in TEST_F() 577 MemoryAccess *Operand = cast<MemoryAccess>(&*Op); in TEST_F() 675 MemoryAccess *Clobber = in TEST_F() 755 MemoryAccess *Phi = MSSA.getMemoryAccess(IfEnd); in TEST_F() 1080 MemoryAccess *Def = MemDef->getDefiningAccess(); in TEST_F() 1273 MemoryAccess *FooClobber = in TEST_F() 1277 MemoryAccess *BarClobber = in TEST_F() 1281 MemoryAccess *BazClobber = in TEST_F() 1285 MemoryAccess *LifetimeStartClobber = in TEST_F() [all …]
|
| /llvm-project-15.0.7/llvm/docs/ |
| H A D | MemorySSA.rst | 44 Each ``MemoryAccess`` can be one of three types: 73 ``BasicBlock``, the block's top ``MemoryAccess`` will be a 98 ``MemoryAccess``, and the value produced by a ``MemoryAccess`` can act as a clobber 99 for other ``MemoryAccess``\ es. 114 In that view, operands of a given ``MemoryAccess`` are the version 197 ``MemoryAccess`` for any given ``Instruction`` . 225 for the clobber of ``MemoryAccess`` ``2``. 238 - ``MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA);`` return the 242 - ``MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA, const MemoryLocation &Loc);`` 299 MemoryAccess *MA = cast<MemoryAccess>(Use.getUser()); [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | NewGVN.cpp | 583 mutable DenseMap<const MemoryAccess *, SmallPtrSet<MemoryAccess *, 2>> 812 const MemoryAccess *lookupMemoryLeader(const MemoryAccess *) const; 852 void addMemoryUsers(const MemoryAccess *To, MemoryAccess *U) const; 867 const MemoryAccess *, const MemoryAccess *) const; 889 assert(isa<MemoryAccess>(MA) && in MemoryToDFSNum() 1342 const MemoryAccess *NewGVN::lookupMemoryLeader(const MemoryAccess *MA) const { in lookupMemoryLeader() 1532 MemoryAccess *DefiningAccess = in performSymbolicLoadEvaluation() 2081 void NewGVN::addMemoryUsers(const MemoryAccess *To, MemoryAccess *U) const { in addMemoryUsers() 3041 return cast<MemoryAccess>(U) != MP && in valueNumberMemoryPhi() 3138 SmallPtrSet<const MemoryAccess *, 8> &Visited, const MemoryAccess *First, in singleReachablePHIPath() argument [all …]
|
| H A D | DeadStoreElimination.cpp | 756 SmallPtrSet<MemoryAccess *, 4> SkipStores; 1062 SmallVector<MemoryAccess *, 4> WorkList; in isWriteAtEndOfFunction() 1063 SmallPtrSet<MemoryAccess *, 8> Visited; in isWriteAtEndOfFunction() 1077 MemoryAccess *UseAccess = WorkList[I]; in isWriteAtEndOfFunction() 1215 Optional<MemoryAccess *> 1225 MemoryAccess *Current = StartAccess; in getDomMemoryDef() 1838 SetVector<MemoryAccess *> ToCheck; in storeIsNoop() 1839 MemoryAccess *Current = in storeIsNoop() 1990 SetVector<MemoryAccess *> ToCheck; in eliminateDeadStores() 1997 MemoryAccess *Current = ToCheck[I]; in eliminateDeadStores() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/Utils/ |
| H A D | AMDGPUMemoryUtils.cpp | 174 SmallVector<MemoryAccess *> WorkList{Walker->getClobberingMemoryAccess(Load)}; in isClobberedInFunction() 175 SmallSet<MemoryAccess *, 8> Visited; in isClobberedInFunction() 189 MemoryAccess *MA = WorkList.pop_back_val(); in isClobberedInFunction() 211 WorkList.push_back(cast<MemoryAccess>(&Use)); in isClobberedInFunction()
|
| /llvm-project-15.0.7/polly/include/polly/Support/ |
| H A D | VirtualInstruction.h | 83 MemoryAccess *InputMA; 86 MemoryAccess *InputMA) in VirtualUse() 151 MemoryAccess *getMemoryAccess() const { return InputMA; } in getMemoryAccess() 309 DenseSet<MemoryAccess *> &UsedAccs,
|