| /openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/ |
| H A D | MemorySSA.h | 115 class MemoryAccess; variable 136 using memoryaccess_def_iterator = memoryaccess_def_iterator_base<MemoryAccess>; 138 memoryaccess_def_iterator_base<const MemoryAccess>; 142 class MemoryAccess 144 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>, 145 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>> { 148 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>; 150 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>>; 152 MemoryAccess(const MemoryAccess &) = delete; 153 MemoryAccess &operator=(const MemoryAccess &) = delete; [all …]
|
| H A D | MemorySSAUpdater.h | 51 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>; 190 MemoryAccess *createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition, 205 MemoryAccess *Definition, 208 MemoryAccess *Definition, 209 MemoryAccess *InsertPt); 217 void removeMemoryAccess(MemoryAccess *, bool OptimizePhis = false); 223 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 251 MemoryAccess *getPreviousDef(MemoryAccess *); 252 MemoryAccess *getPreviousDefInBlock(MemoryAccess *); 253 MemoryAccess * [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Analysis/ |
| H A D | MemorySSA.cpp | 110 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 116 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot() 134 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 140 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) { in emitInstructionAnnot() 141 MemoryAccess *Clobber = Walker->getClobberingMemoryAccess(MA, BAA); in emitInstructionAnnot() 360 const MemoryAccess *OriginalAccess = nullptr; 365 UpwardsMemoryQuery(const Instruction *Inst, const MemoryAccess *Access) in UpwardsMemoryQuery() 400 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, in checkClobberSanity() 466 {const_cast<MemoryAccess *>(MA), MAP.second}, in checkClobberSanity() 503 MemoryAccess *First; [all …]
|
| H A D | MemorySSAUpdater.cpp | 36 MemoryAccess *MemorySSAUpdater::getPreviousDefRecursive( in getPreviousDefRecursive() 38 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefRecursive() 52 MemoryAccess *Result = getPreviousDefFromEnd(Pred, CachedPreviousDef); in getPreviousDefRecursive() 61 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive() 68 SmallVector<TrackingVH<MemoryAccess>, 8> PhiOps; in getPreviousDefRecursive() 74 MemoryAccess *SingleAccess = nullptr; in getPreviousDefRecursive() 137 MemoryAccess *MemorySSAUpdater::getPreviousDef(MemoryAccess *MA) { in getPreviousDef() 140 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> CachedPreviousDef; in getPreviousDef() 147 MemoryAccess *MemorySSAUpdater::getPreviousDefInBlock(MemoryAccess *MA) { in getPreviousDefInBlock() 163 return cast<MemoryAccess>(&U); in getPreviousDefInBlock() [all …]
|
| /openbsd-src/gnu/llvm/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); 66 MemoryAccess(cur_thread(), STRIP_PAC_PC(pc), (uptr)addr, 2, kAccessRead | kAccessExternalPC); [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 | 135 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead | kAccessSlotLocked); in init() 184 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAcquire() 195 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdRelease() 207 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAccess() 222 MemoryAccess(thr, pc, (uptr)d, 8, in FdClose() 234 MemoryAccess(thr, pc, (uptr)d, 8, in FdClose() 266 MemoryAccess(thr, pc, (uptr)od, 8, kAccessRead); in FdDup()
|
| H A D | tsan_rtl_mutex.cpp | 89 MemoryAccess(thr, pc, addr, 1, kAccessWrite); in MutexCreate() 131 MemoryAccess(thr, pc, addr, 1, in MutexDestroy() 166 MemoryAccess(thr, pc, addr, 1, kAccessRead | kAccessAtomic); in MutexPostLock() 219 MemoryAccess(thr, pc, addr, 1, kAccessRead | kAccessAtomic); in MutexUnlock() 284 MemoryAccess(thr, pc, addr, 1, kAccessRead | kAccessAtomic); in MutexPostReadLock() 327 MemoryAccess(thr, pc, addr, 1, kAccessRead | kAccessAtomic); in MutexReadUnlock() 368 MemoryAccess(thr, pc, addr, 1, kAccessRead | kAccessAtomic); in MutexReadOrWriteUnlock()
|
| H A D | tsan_external.cpp | 70 MemoryAccess(thr, CALLERPC, (uptr)addr, 1, typ); in ExternalAccess()
|
| H A D | tsan_interface_atomic.cpp | 229 MemoryAccess(thr, pc, (uptr)a, AccessSize<T>(), in AtomicLoad() 245 MemoryAccess(thr, pc, (uptr)a, AccessSize<T>(), kAccessRead | kAccessAtomic); in AtomicLoad() 265 MemoryAccess(thr, pc, (uptr)a, AccessSize<T>(), kAccessWrite | kAccessAtomic); in AtomicStore() 286 MemoryAccess(thr, pc, (uptr)a, AccessSize<T>(), kAccessWrite | kAccessAtomic); in AtomicRMW() 414 MemoryAccess(thr, pc, (uptr)a, AccessSize<T>(), kAccessWrite | kAccessAtomic); in AtomicCAS()
|
| /openbsd-src/gnu/llvm/llvm/docs/ |
| H A D | MemorySSA.rst | 41 structure that maps ``Instruction``\ s to ``MemoryAccess``\ es, which are 44 Each ``MemoryAccess`` can be one of three types: 73 ``BasicBlock``, the block's top ``MemoryAccess`` will be a 88 It dominates every ``MemoryAccess`` in the function that ``MemorySSA`` is being 97 The operands of a given ``MemoryAccess`` are all (potential) clobbers of said 98 ``MemoryAccess``, and the value produced by a ``MemoryAccess`` can act as a clobber 99 for other ``MemoryAccess``\ es. 101 If a ``MemoryAccess`` is a *clobber* of another, it means that these two 102 ``MemoryAccess``\ es may access the same memory. For example, ``x = MemoryDef(y)`` 114 In that view, operands of a given ``MemoryAccess`` are the version [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | NewGVN.cpp | 330 const MemoryAccess *getMemoryLeader() const { return RepMemoryAccess; } in getMemoryLeader() 331 void setMemoryLeader(const MemoryAccess *Leader) { RepMemoryAccess = Leader; } in setMemoryLeader() 410 const MemoryAccess *RepMemoryAccess = nullptr; 583 mutable DenseMap<const MemoryAccess *, SmallPtrSet<MemoryAccess *, 2>> 591 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass; 726 const MemoryAccess *) const; 728 const MemoryAccess *) const; 730 const MemoryAccess *) const; 742 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass() 748 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass() [all …]
|
| H A D | DeadStoreElimination.cpp | 812 SmallPtrSet<MemoryAccess *, 4> SkipStores; 855 MemoryAccess *MA = MSSA.getMemoryAccess(&I); in DSEState() 1141 SmallVector<MemoryAccess *, 4> WorkList; in isWriteAtEndOfFunction() 1142 SmallPtrSet<MemoryAccess *, 8> Visited; in isWriteAtEndOfFunction() 1143 auto PushMemUses = [&WorkList, &Visited](MemoryAccess *Acc) { in isWriteAtEndOfFunction() 1147 WorkList.push_back(cast<MemoryAccess>(U.getUser())); in isWriteAtEndOfFunction() 1156 MemoryAccess *UseAccess = WorkList[I]; in isWriteAtEndOfFunction() 1299 std::optional<MemoryAccess *> 1300 getDomMemoryDef(MemoryDef *KillingDef, MemoryAccess *StartAccess, in getDomMemoryDef() 1309 MemoryAccess *Current = StartAccess; in getDomMemoryDef() [all …]
|
| H A D | LoopInstSimplify.cpp | 137 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) in simplifyLoopInst() 138 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) in simplifyLoopInst()
|
| H A D | MemCpyOptimizer.cpp | 342 for (const MemoryAccess &MA : in accessedBetween() 371 [&AA, Loc](const MemoryAccess &Acc) { in writtenBetween() 381 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in writtenBetween() 1419 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in performMemCpyToMemSetOptzn() 1481 MemoryAccess *AnyClobber = MA->getDefiningAccess(); in processMemCpy() 1483 const MemoryAccess *DestClobber = in processMemCpy() 1496 MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess( in processMemCpy() 1583 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in processByValArgument()
|
| H A D | LICM.cpp | 480 SmallVector<MemoryAccess *, 8> MSSAInsertPts; in runOnLoop() 1443 MemoryAccess *NewMemAcc = MSSAU.createMemoryAccessInBB( in cloneInstructionInExitBlock() 1784 SmallVectorImpl<MemoryAccess *> &MSSAInsertPts; 1817 SmallVectorImpl<MemoryAccess *> &MSSAIP, PredIteratorCache &PIC, in LoopPromoter() 1863 MemoryAccess *MSSAInsertPoint = MSSAInsertPts[i]; in insertStoresInLoopExitBlocks() 1864 MemoryAccess *NewMemAcc; in insertStoresInLoopExitBlocks() 1956 SmallVectorImpl<MemoryAccess *> &MSSAInsertPts, PredIteratorCache &PIC, in promoteLoopAccessesToScalars() 2233 MemoryAccess *PreheaderLoadMemoryAccess = MSSAU.createMemoryAccessInBB( in promoteLoopAccessesToScalars() 2336 MemoryAccess *Source; in pointerInvalidatedByLoop()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/Utils/ |
| H A D | AMDGPUMemoryUtils.cpp | 152 SmallVector<MemoryAccess *> WorkList{Walker->getClobberingMemoryAccess(Load)}; in isClobberedInFunction() 153 SmallSet<MemoryAccess *, 8> Visited; in isClobberedInFunction() 167 MemoryAccess *MA = WorkList.pop_back_val(); in isClobberedInFunction() 189 WorkList.push_back(cast<MemoryAccess>(&Use)); in isClobberedInFunction()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/ |
| H A D | SimpleRemoteEPC.h | 42 Expected<std::unique_ptr<MemoryAccess>>(SimpleRemoteEPC &); 103 static Expected<std::unique_ptr<MemoryAccess>> 132 std::unique_ptr<MemoryAccess> OwnedMemAccess;
|
| H A D | ExecutorProcessControl.h | 101 class MemoryAccess { 106 virtual ~MemoryAccess(); 210 MemoryAccess &getMemoryAccess() const { in getMemoryAccess() 373 MemoryAccess *MemAccess = nullptr; 429 private ExecutorProcessControl::MemoryAccess {
|
| H A D | EPCGenericMemoryAccess.h | 26 class EPCGenericMemoryAccess : public ExecutorProcessControl::MemoryAccess {
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Scalar/ |
| H A D | GVNExpression.h | 270 const MemoryAccess *MemoryLeader; 274 const MemoryAccess *MemoryLeader) in MemoryExpression() 297 const MemoryAccess *getMemoryLeader() const { return MemoryLeader; } in getMemoryLeader() 298 void setMemoryLeader(const MemoryAccess *ML) { MemoryLeader = ML; } in setMemoryLeader() 307 const MemoryAccess *MemoryLeader) in CallExpression() 334 const MemoryAccess *MemoryLeader) in LoadExpression() 338 const MemoryAccess *MemoryLeader) in LoadExpression() 377 const MemoryAccess *MemoryLeader) in StoreExpression()
|
| /openbsd-src/gnu/llvm/compiler-rt/lib/tsan/go/ |
| H A D | tsan_go.cpp | 170 MemoryAccess(thr, (uptr)pc, (uptr)addr, 1, kAccessRead); in __tsan_read() 176 MemoryAccess(thr, (uptr)pc, (uptr)addr, 1, kAccessRead); in __tsan_read_pc() 182 MemoryAccess(thr, (uptr)pc, (uptr)addr, 1, kAccessWrite); in __tsan_write() 188 MemoryAccess(thr, (uptr)pc, (uptr)addr, 1, kAccessWrite); in __tsan_write_pc()
|
| /openbsd-src/gnu/llvm/llvm/lib/ExecutionEngine/Orc/ |
| H A D | ExecutorProcessControl.cpp | 22 ExecutorProcessControl::MemoryAccess::~MemoryAccess() = default;
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 34 class MemoryAccess; variable 210 SmallVectorImpl<Instruction *> &, SmallVectorImpl<MemoryAccess *> &,
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 1725 SmallVector<MemoryAccess *, 4> AccessesToCheck; in hasPartialIVCondition() 1742 if (MemoryAccess *MA = MSSA.getMemoryAccess(I)) { in hasPartialIVCondition() 1764 SmallVector<MemoryAccess *, 4> AccessesToCheck) in hasPartialIVCondition() 1799 SmallPtrSet<MemoryAccess *, 4> SeenAccesses; in hasPartialIVCondition() 1801 MemoryAccess *Current = AccessesToCheck.pop_back_val(); in hasPartialIVCondition() 1825 AccessesToCheck.push_back(cast<MemoryAccess>(U.getUser())); in hasPartialIVCondition()
|