Home
last modified time | relevance | path

Searched refs:MemoryAccess (Results 1 – 25 of 77) sorted by relevance

1234

/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DMemorySSA.h115 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 DMemorySSAUpdater.h51 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 DMemorySSA.cpp419 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 DMemorySSAUpdater.cpp137 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 Dtsan_interface.inc22 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 Dtsan_interface.cpp32 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 Dtsan_fd.cpp118 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 Dtsan_interface.inc22 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 Dtsan_interface.cpp32 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 Dtsan_fd.cpp133 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 DScopInfo.h70 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 DZoneAlgo.h33 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 DScopBuilder.h365 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 DSimplify.cpp398 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 DMaximalStaticExpansion.cpp93 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 DZoneAlgo.cpp391 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 DScopInfo.cpp528 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 DScopBuilder.cpp1450 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 DVirtualInstruction.cpp37 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 DMemorySSATest.cpp229 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 DMemorySSA.rst44 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 DNewGVN.cpp583 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 DDeadStoreElimination.cpp756 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 DAMDGPUMemoryUtils.cpp174 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 DVirtualInstruction.h83 MemoryAccess *InputMA;
86 MemoryAccess *InputMA) in VirtualUse()
151 MemoryAccess *getMemoryAccess() const { return InputMA; } in getMemoryAccess()
309 DenseSet<MemoryAccess *> &UsedAccs,

1234