Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemorySSA.h115 class MemoryAccess; variable
134 using memoryaccess_def_iterator = memoryaccess_def_iterator_base<MemoryAccess>;
136 memoryaccess_def_iterator_base<const MemoryAccess>;
140 class MemoryAccess
142 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>,
143 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>> {
146 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>;
148 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>>;
150 MemoryAccess(const MemoryAccess &) = delete;
151 MemoryAccess &operator=(const MemoryAccess &) = delete;
[all …]
H A DMemorySSAUpdater.h52 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>;
194 LLVM_ABI MemoryAccess *
195 createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition,
203 MemoryAccess *Definition,
209 MemoryAccess *Definition,
210 MemoryAccess *InsertPt);
218 LLVM_ABI void removeMemoryAccess(MemoryAccess *, bool OptimizePhis = false);
224 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
252 MemoryAccess *getPreviousDef(MemoryAccess *);
253 MemoryAccess *getPreviousDefInBlock(MemoryAccess *);
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DMemorySSA.cpp105 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot()
111 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot()
129 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot()
135 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) { in emitInstructionAnnot()
136 MemoryAccess *Clobber = Walker->getClobberingMemoryAccess(MA, BAA); in emitInstructionAnnot()
356 const MemoryAccess *OriginalAccess = nullptr;
361 UpwardsMemoryQuery(const Instruction *Inst, const MemoryAccess *Access) in UpwardsMemoryQuery()
397 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, in checkClobberSanity()
463 {const_cast<MemoryAccess *>(MA), MAP.second}, in checkClobberSanity()
500 MemoryAccess *First;
[all …]
H A DMemorySSAUpdater.cpp36 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 …]
/freebsd/contrib/llvm-project/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);
66 MemoryAccess(cur_thread(), STRIP_PAC_PC(pc), (uptr)addr, 2, kAccessRead | kAccessExternalPC);
[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.cpp135 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 Dtsan_rtl_mutex.cpp89 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 Dtsan_external.cpp77 MemoryAccess(thr, tsan_caller_pc, (uptr)addr, 1, typ); in ExternalAccess()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DNewGVN.cpp336 const MemoryAccess *getMemoryLeader() const { return RepMemoryAccess; } in getMemoryLeader()
337 void setMemoryLeader(const MemoryAccess *Leader) { RepMemoryAccess = Leader; } in setMemoryLeader()
418 const MemoryAccess *RepMemoryAccess = nullptr;
596 mutable DenseMap<const MemoryAccess *, SmallPtrSet<MemoryAccess *, 2>>
604 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass;
741 const MemoryAccess *) const;
743 const MemoryAccess *) const;
745 const MemoryAccess *) const;
769 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass()
775 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass()
[all …]
H A DDeadStoreElimination.cpp965 SmallPtrSet<MemoryAccess *, 4> SkipStores;
1008 MemoryAccess *MA = MSSA.getMemoryAccess(&I); in DSEState()
1034 static void pushMemUses(MemoryAccess *Acc, in pushMemUses()
1035 SmallVectorImpl<MemoryAccess *> &WorkList, in pushMemUses()
1036 SmallPtrSetImpl<MemoryAccess *> &Visited) { in pushMemUses()
1038 auto *MA = cast<MemoryAccess>(U.getUser()); in pushMemUses()
1323 SmallVector<MemoryAccess *, 4> WorkList; in isWriteAtEndOfFunction()
1324 SmallPtrSet<MemoryAccess *, 8> Visited; in isWriteAtEndOfFunction()
1333 MemoryAccess *UseAccess = WorkList[I]; in isWriteAtEndOfFunction()
1476 std::optional<MemoryAccess *>
[all …]
H A DLoopInstSimplify.cpp132 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) in simplifyLoopInst()
133 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) in simplifyLoopInst()
H A DMemCpyOptimizer.cpp303 for (const MemoryAccess &MA : in accessedBetween()
332 [&AA, Loc](const MemoryAccess &Acc) { in writtenBetween()
342 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in writtenBetween()
1434 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in overreadUndefContents()
1787 MemoryAccess *AnyClobber = MA->getDefiningAccess(); in processMemCpy()
1789 const MemoryAccess *DestClobber = in processMemCpy()
1802 MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess( in processMemCpy()
1906 MemoryAccess *FirstDef = MemMoveAccess->getDefiningAccess(); in isMemMoveMemSetDependency()
1974 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in processByValArgument()
2081 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in processImmutArgument()
H A DLICM.cpp497 SmallVector<MemoryAccess *, 8> MSSAInsertPts; in runOnLoop()
1142 static MemoryAccess *getClobberingMemoryAccess(MemorySSA &MSSA, in getClobberingMemoryAccess()
1150 MemoryAccess *Source = in getClobberingMemoryAccess()
1401 MemoryAccess *NewMemAcc = MSSAU.createMemoryAccessInBB( in cloneInstructionInExitBlock()
1745 SmallVectorImpl<MemoryAccess *> &MSSAInsertPts;
1779 SmallVectorImpl<MemoryAccess *> &MSSAIP, PredIteratorCache &PIC, in LoopPromoter()
1825 MemoryAccess *MSSAInsertPoint = MSSAInsertPts[i]; in insertStoresInLoopExitBlocks()
1826 MemoryAccess *NewMemAcc; in insertStoresInLoopExitBlocks()
1900 SmallVectorImpl<MemoryAccess *> &MSSAInsertPts, PredIteratorCache &PIC, in promoteLoopAccessesToScalars()
2187 MemoryAccess *PreheaderLoadMemoryAccess = MSSAU.createMemoryAccessInBB( in promoteLoopAccessesToScalars()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DMoveAutoInit.cpp67 SmallPtrSet<MemoryAccess *, 8> Visited; in usersDominator()
69 auto AsMemoryAccess = [](User *U) { return cast<MemoryAccess>(U); }; in usersDominator()
70 SmallVector<MemoryAccess *> WorkList(map_range(IMA.users(), AsMemoryAccess)); in usersDominator()
73 MemoryAccess *MA = WorkList.pop_back_val(); in usersDominator()
/freebsd/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/
H A DSimpleRemoteEPC.h44 Expected<std::unique_ptr<MemoryAccess>>(SimpleRemoteEPC &);
102 static Expected<std::unique_ptr<MemoryAccess>>
136 std::unique_ptr<MemoryAccess> OwnedMemAccess;
H A DMemoryAccess.h26 class LLVM_ABI MemoryAccess {
48 virtual ~MemoryAccess();
H A DInProcessMemoryAccess.h20 class LLVM_ABI InProcessMemoryAccess : public MemoryAccess {
H A DExecutorProcessControl.h138 MemoryAccess &getMemoryAccess() const { in getMemoryAccess()
318 MemoryAccess *MemAccess = nullptr;
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DGVNExpression.h270 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()
340 const MemoryAccess *MemoryLeader) in LoadExpression()
344 const MemoryAccess *MemoryLeader) in LoadExpression()
383 const MemoryAccess *MemoryLeader) in StoreExpression()
H A DGVN.h49 class MemoryAccess; variable
215 LLVM_ABI uint32_t lookupOrAdd(MemoryAccess *MA);
/freebsd/contrib/llvm-project/compiler-rt/lib/tsan/go/
H A Dtsan_go.cpp170 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()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUMemoryUtils.cpp383 SmallVector<MemoryAccess *> WorkList{Walker->getClobberingMemoryAccess(Load)}; in isClobberedInFunction()
384 SmallSet<MemoryAccess *, 8> Visited; in isClobberedInFunction()
398 MemoryAccess *MA = WorkList.pop_back_val(); in isClobberedInFunction()
420 WorkList.push_back(cast<MemoryAccess>(&Use)); in isClobberedInFunction()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/
H A DInProcessMemoryAccess.cpp15 MemoryAccess::~MemoryAccess() = default;
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h36 class MemoryAccess; variable
227 SmallVectorImpl<BasicBlock::iterator> &, SmallVectorImpl<MemoryAccess *> &,

12