Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemorySSA.h116 class MemoryAccess; variable
137 using memoryaccess_def_iterator = memoryaccess_def_iterator_base<MemoryAccess>;
139 memoryaccess_def_iterator_base<const MemoryAccess>;
143 class MemoryAccess
145 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>,
146 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>> {
149 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>;
151 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>>;
153 MemoryAccess(const MemoryAccess &) = delete;
154 MemoryAccess &operator=(const MemoryAccess &) = delete;
[all …]
H A DMemorySSAUpdater.h51 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>;
191 MemoryAccess *createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition,
195 MemoryAccess *createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition,
204 MemoryAccess *Definition,
210 MemoryAccess *Definition,
211 MemoryAccess *InsertPt);
219 void removeMemoryAccess(MemoryAccess *, bool OptimizePhis = false);
225 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
253 MemoryAccess *getPreviousDef(MemoryAccess *);
254 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_interface_atomic.cpp229 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()
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.cpp327 const MemoryAccess *getMemoryLeader() const { return RepMemoryAccess; } in getMemoryLeader()
328 void setMemoryLeader(const MemoryAccess *Leader) { RepMemoryAccess = Leader; } in setMemoryLeader()
407 const MemoryAccess *RepMemoryAccess = nullptr;
584 mutable DenseMap<const MemoryAccess *, SmallPtrSet<MemoryAccess *, 2>>
592 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass;
727 const MemoryAccess *) const;
729 const MemoryAccess *) const;
731 const MemoryAccess *) const;
743 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass()
749 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass()
[all …]
H A DDeadStoreElimination.cpp837 SmallPtrSet<MemoryAccess *, 4> SkipStores;
880 MemoryAccess *MA = MSSA.getMemoryAccess(&I); in DSEState()
905 static void pushMemUses(MemoryAccess *Acc, in pushMemUses()
906 SmallVectorImpl<MemoryAccess *> &WorkList, in pushMemUses()
907 SmallPtrSetImpl<MemoryAccess *> &Visited) { in pushMemUses()
909 auto *MA = cast<MemoryAccess>(U.getUser()); in pushMemUses()
1174 SmallVector<MemoryAccess *, 4> WorkList; in isWriteAtEndOfFunction()
1175 SmallPtrSet<MemoryAccess *, 8> Visited; in isWriteAtEndOfFunction()
1184 MemoryAccess *UseAccess = WorkList[I]; in isWriteAtEndOfFunction()
1327 std::optional<MemoryAccess *>
[all …]
H A DLoopInstSimplify.cpp135 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) in simplifyLoopInst()
136 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) in simplifyLoopInst()
H A DMemCpyOptimizer.cpp299 for (const MemoryAccess &MA : in accessedBetween()
328 [&AA, Loc](const MemoryAccess &Acc) { in writtenBetween()
338 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in writtenBetween()
1467 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in performMemCpyToMemSetOptzn()
1769 MemoryAccess *AnyClobber = MA->getDefiningAccess(); in processMemCpy()
1771 const MemoryAccess *DestClobber = in processMemCpy()
1784 MemoryAccess *SrcClobber = MSSA->getWalker()->getClobberingMemoryAccess( in processMemCpy()
1893 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in processByValArgument()
1991 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in processImmutArgument()
H A DLICM.cpp494 SmallVector<MemoryAccess *, 8> MSSAInsertPts; in runOnLoop()
1146 static MemoryAccess *getClobberingMemoryAccess(MemorySSA &MSSA, in getClobberingMemoryAccess()
1154 MemoryAccess *Source = in getClobberingMemoryAccess()
1469 MemoryAccess *NewMemAcc = MSSAU.createMemoryAccessInBB( in cloneInstructionInExitBlock()
1816 SmallVectorImpl<MemoryAccess *> &MSSAInsertPts;
1850 SmallVectorImpl<MemoryAccess *> &MSSAIP, PredIteratorCache &PIC, in LoopPromoter()
1896 MemoryAccess *MSSAInsertPoint = MSSAInsertPts[i]; in insertStoresInLoopExitBlocks()
1897 MemoryAccess *NewMemAcc; in insertStoresInLoopExitBlocks()
1971 SmallVectorImpl<MemoryAccess *> &MSSAInsertPts, PredIteratorCache &PIC, in promoteLoopAccessesToScalars()
2251 MemoryAccess *PreheaderLoadMemoryAccess = MSSAU.createMemoryAccessInBB( in promoteLoopAccessesToScalars()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DMoveAutoInit.cpp69 SmallPtrSet<MemoryAccess *, 8> Visited; in usersDominator()
71 auto AsMemoryAccess = [](User *U) { return cast<MemoryAccess>(U); }; in usersDominator()
72 SmallVector<MemoryAccess *> WorkList(map_range(IMA.users(), AsMemoryAccess)); in usersDominator()
75 MemoryAccess *MA = WorkList.pop_back_val(); in usersDominator()
H A DLoopUtils.cpp2020 SmallVector<MemoryAccess *, 4> AccessesToCheck; in hasPartialIVCondition()
2037 if (MemoryAccess *MA = MSSA.getMemoryAccess(I)) { in hasPartialIVCondition()
2059 SmallVector<MemoryAccess *, 4> AccessesToCheck) in hasPartialIVCondition()
2094 SmallPtrSet<MemoryAccess *, 4> SeenAccesses; in hasPartialIVCondition()
2096 MemoryAccess *Current = AccessesToCheck.pop_back_val(); in hasPartialIVCondition()
2120 AccessesToCheck.push_back(cast<MemoryAccess>(U.getUser())); in hasPartialIVCondition()
/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()
334 const MemoryAccess *MemoryLeader) in LoadExpression()
338 const MemoryAccess *MemoryLeader) in LoadExpression()
377 const MemoryAccess *MemoryLeader) in StoreExpression()
/freebsd/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/
H A DSimpleRemoteEPC.h42 Expected<std::unique_ptr<MemoryAccess>>(SimpleRemoteEPC &);
103 static Expected<std::unique_ptr<MemoryAccess>>
132 std::unique_ptr<MemoryAccess> OwnedMemAccess;
H A DExecutorProcessControl.h101 class MemoryAccess {
106 virtual ~MemoryAccess();
221 MemoryAccess &getMemoryAccess() const { in getMemoryAccess()
429 MemoryAccess *MemAccess = nullptr;
435 class InProcessMemoryAccess : public ExecutorProcessControl::MemoryAccess {
H A DEPCGenericMemoryAccess.h1 //===- EPCGenericMemoryAccess.h - Generic EPC MemoryAccess impl -*- C++ -*-===//
9 // Implements ExecutorProcessControl::MemoryAccess by making calls to
26 class EPCGenericMemoryAccess : public ExecutorProcessControl::MemoryAccess {
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/
H A DAMDGPUMemoryUtils.cpp328 SmallVector<MemoryAccess *> WorkList{Walker->getClobberingMemoryAccess(Load)}; in isClobberedInFunction()
329 SmallSet<MemoryAccess *, 8> Visited; in isClobberedInFunction()
343 MemoryAccess *MA = WorkList.pop_back_val(); in isClobberedInFunction()
365 WorkList.push_back(cast<MemoryAccess>(&Use)); in isClobberedInFunction()
/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/ExecutionEngine/Orc/
H A DExecutorProcessControl.cpp24 ExecutorProcessControl::MemoryAccess::~MemoryAccess() = default;
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h36 class MemoryAccess; variable
220 SmallVectorImpl<BasicBlock::iterator> &, SmallVectorImpl<MemoryAccess *> &,

12