/external/llvm/include/llvm/Transforms/Utils/ |
D | MemorySSA.h | 110 class MemoryAccess; variable 115 using memoryaccess_def_iterator = memoryaccess_def_iterator_base<MemoryAccess>; 117 memoryaccess_def_iterator_base<const MemoryAccess>; 121 class MemoryAccess : public User, public ilist_node<MemoryAccess> { 128 static inline bool classof(const MemoryAccess *) { return true; } in classof() argument 134 ~MemoryAccess() override; 163 MemoryAccess(LLVMContext &C, unsigned Vty, BasicBlock *BB, in MemoryAccess() function 168 MemoryAccess(const MemoryAccess &); 169 void operator=(const MemoryAccess &); 174 struct ilist_traits<MemoryAccess> : public ilist_default_traits<MemoryAccess> { [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/ |
D | MemorySSA.h | 113 class MemoryAccess; variable 132 using memoryaccess_def_iterator = memoryaccess_def_iterator_base<MemoryAccess>; 134 memoryaccess_def_iterator_base<const MemoryAccess>; 138 class MemoryAccess 140 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>, 141 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>> { 144 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>; 146 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>>; 148 MemoryAccess(const MemoryAccess &) = delete; 149 MemoryAccess &operator=(const MemoryAccess &) = delete; [all …]
|
D | MemorySSAUpdater.h | 60 class MemoryAccess; variable 65 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>; 203 MemoryAccess *createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition, 218 MemoryAccess *Definition, 221 MemoryAccess *Definition, 222 MemoryAccess *InsertPt); 230 void removeMemoryAccess(MemoryAccess *, bool OptimizePhis = false); 236 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 269 MemoryAccess *getPreviousDef(MemoryAccess *); 270 MemoryAccess *getPreviousDefInBlock(MemoryAccess *); [all …]
|
/external/llvm-project/llvm/include/llvm/Analysis/ |
D | MemorySSA.h | 114 class MemoryAccess; variable 133 using memoryaccess_def_iterator = memoryaccess_def_iterator_base<MemoryAccess>; 135 memoryaccess_def_iterator_base<const MemoryAccess>; 139 class MemoryAccess 141 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>, 142 public ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>> { 145 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::AllAccessTag>>; 147 ilist_node<MemoryAccess, ilist_tag<MSSAHelpers::DefsOnlyTag>>; 149 MemoryAccess(const MemoryAccess &) = delete; 150 MemoryAccess &operator=(const MemoryAccess &) = delete; [all …]
|
D | MemorySSAUpdater.h | 53 using PhiToDefMap = SmallDenseMap<MemoryPhi *, MemoryAccess *>; 189 MemoryAccess *createMemoryAccessInBB(Instruction *I, MemoryAccess *Definition, 204 MemoryAccess *Definition, 207 MemoryAccess *Definition, 208 MemoryAccess *InsertPt); 216 void removeMemoryAccess(MemoryAccess *, bool OptimizePhis = false); 222 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 255 MemoryAccess *getPreviousDef(MemoryAccess *); 256 MemoryAccess *getPreviousDefInBlock(MemoryAccess *); 257 MemoryAccess * [all …]
|
/external/llvm/lib/Transforms/Utils/ |
D | MemorySSA.cpp | 79 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 85 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot() 128 MemoryAccess *getClobberingMemoryAccess(const Instruction *) override; 129 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *, 131 void invalidateInfo(MemoryAccess *) override; 135 MemoryAccess *doCacheLookup(const MemoryAccess *, const UpwardsMemoryQuery &, 138 void doCacheInsert(const MemoryAccess *, MemoryAccess *, 141 void doCacheRemove(const MemoryAccess *, const UpwardsMemoryQuery &, 145 MemoryAccessPair UpwardsDFSWalk(MemoryAccess *, const MemoryLocation &, 147 MemoryAccess *getClobberingMemoryAccess(MemoryAccess *, UpwardsMemoryQuery &); [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
D | MemorySSA.cpp | 109 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 115 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot() 345 const MemoryAccess *OriginalAccess = nullptr; 351 UpwardsMemoryQuery(const Instruction *Inst, const MemoryAccess *Access) in UpwardsMemoryQuery() 400 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, in checkClobberSanity() 469 upward_defs_begin({const_cast<MemoryAccess *>(MA), MAP.second}), in checkClobberSanity() 502 MemoryAccess *First; 503 MemoryAccess *Last; 506 DefPath(const MemoryLocation &Loc, MemoryAccess *First, MemoryAccess *Last, in DefPath() 510 DefPath(const MemoryLocation &Loc, MemoryAccess *Init, in DefPath() [all …]
|
D | MemorySSAUpdater.cpp | 41 MemoryAccess *MemorySSAUpdater::getPreviousDefRecursive( in getPreviousDefRecursive() 43 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefRecursive() 57 MemoryAccess *Result = getPreviousDefFromEnd(Pred, CachedPreviousDef); in getPreviousDefRecursive() 66 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive() 73 SmallVector<TrackingVH<MemoryAccess>, 8> PhiOps; in getPreviousDefRecursive() 79 MemoryAccess *SingleAccess = nullptr; in getPreviousDefRecursive() 142 MemoryAccess *MemorySSAUpdater::getPreviousDef(MemoryAccess *MA) { in getPreviousDef() 145 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> CachedPreviousDef; in getPreviousDef() 152 MemoryAccess *MemorySSAUpdater::getPreviousDefInBlock(MemoryAccess *MA) { in getPreviousDefInBlock() 168 return cast<MemoryAccess>(&U); in getPreviousDefInBlock() [all …]
|
/external/llvm-project/llvm/lib/Analysis/ |
D | MemorySSA.cpp | 115 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 121 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot() 345 const MemoryAccess *OriginalAccess = nullptr; 351 UpwardsMemoryQuery(const Instruction *Inst, const MemoryAccess *Access) in UpwardsMemoryQuery() 403 checkClobberSanity(const MemoryAccess *Start, MemoryAccess *ClobberAt, in checkClobberSanity() 474 {const_cast<MemoryAccess *>(MA), MAP.second}, in checkClobberSanity() 511 MemoryAccess *First; 512 MemoryAccess *Last; 515 DefPath(const MemoryLocation &Loc, MemoryAccess *First, MemoryAccess *Last, in DefPath() 519 DefPath(const MemoryLocation &Loc, MemoryAccess *Init, in DefPath() [all …]
|
D | MemorySSAUpdater.cpp | 43 MemoryAccess *MemorySSAUpdater::getPreviousDefRecursive( in getPreviousDefRecursive() 45 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) { in getPreviousDefRecursive() 59 MemoryAccess *Result = getPreviousDefFromEnd(Pred, CachedPreviousDef); in getPreviousDefRecursive() 68 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive() 75 SmallVector<TrackingVH<MemoryAccess>, 8> PhiOps; in getPreviousDefRecursive() 81 MemoryAccess *SingleAccess = nullptr; in getPreviousDefRecursive() 144 MemoryAccess *MemorySSAUpdater::getPreviousDef(MemoryAccess *MA) { in getPreviousDef() 147 DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> CachedPreviousDef; in getPreviousDef() 154 MemoryAccess *MemorySSAUpdater::getPreviousDefInBlock(MemoryAccess *MA) { in getPreviousDefInBlock() 170 return cast<MemoryAccess>(&U); in getPreviousDefInBlock() [all …]
|
/external/llvm-project/polly/include/polly/ |
D | ScopInfo.h | 47 class MemoryAccess; variable 189 using AccFuncVector = std::vector<std::unique_ptr<MemoryAccess>>; 422 class MemoryAccess { 706 MemoryAccess(ScopStmt *Stmt, Instruction *AccessInst, AccessType AccType, 721 MemoryAccess(ScopStmt *Stmt, AccessType AccType, isl::map AccRel); 723 MemoryAccess(const MemoryAccess &) = delete; 724 MemoryAccess &operator=(const MemoryAccess &) = delete; 725 ~MemoryAccess(); 756 bool isRead() const { return AccType == MemoryAccess::READ; } in isRead() 759 bool isMustWrite() const { return AccType == MemoryAccess::MUST_WRITE; } in isMustWrite() [all …]
|
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);
|
D | ScheduleOptimizer.h | 44 class MemoryAccess; variable 61 MemoryAccess *A = nullptr; 62 MemoryAccess *B = nullptr; 63 MemoryAccess *ReadFromC = nullptr; 64 MemoryAccess *WriteToC = nullptr;
|
D | ScopBuilder.h | 426 using AliasGroupTy = SmallVector<MemoryAccess *, 4>; 555 MemoryAccess *addMemoryAccess(ScopStmt *Stmt, Instruction *Inst, 556 MemoryAccess::AccessType AccType, 577 MemoryAccess::AccessType AccType, Value *BaseAddress, 704 bool canAlwaysBeHoisted(MemoryAccess *MA, bool StmtInvalidCtxIsEmpty, 714 bool hasNonHoistableBasePtrInScop(MemoryAccess *MA, isl::union_map Writes); 723 isl::set getNonHoistableCtx(MemoryAccess *Access, isl::union_map Writes); 735 void collectCandidateReductionLoads(MemoryAccess *StoreMA, 736 SmallVectorImpl<MemoryAccess *> &Loads);
|
/external/llvm-project/polly/lib/Transform/ |
D | Simplify.cpp | 71 static bool isImplicitRead(MemoryAccess *MA) { in isImplicitRead() 75 static bool isExplicitAccess(MemoryAccess *MA) { in isExplicitAccess() 79 static bool isImplicitWrite(MemoryAccess *MA) { in isImplicitWrite() 164 SmallVector<MemoryAccess *, 32> Accesses(getAccessesInOrder(Stmt)); in removeOverwrites() 246 SmallVector<MemoryAccess *, 32> Accesses(getAccessesInOrder(Stmt)); in coalesceWrites() 247 for (MemoryAccess *MA : reverse(Accesses)) { in coalesceWrites() 308 MemoryAccess *OtherMA = (MemoryAccess *)Map.get_space() in coalesceWrites() 346 SmallPtrSet<MemoryAccess *, 2> TouchedAccesses; in coalesceWrites() 349 MemoryAccess *MA = (MemoryAccess *)Map.get_space() in coalesceWrites() 359 MemoryAccess *MA = (MemoryAccess *)FutureWrite.get_space() in coalesceWrites() [all …]
|
D | MaximalStaticExpansion.cpp | 74 SmallPtrSetImpl<MemoryAccess *> &Writes, 75 SmallPtrSetImpl<MemoryAccess *> &Reads, Scop &S, 82 ScopArrayInfo *expandAccess(Scop &S, MemoryAccess *MA); 91 MemoryAccess *MA); 102 void mapAccess(Scop &S, SmallPtrSetImpl<MemoryAccess *> &Accesses, 133 Scop &S, const isl::union_map &Dependences, MemoryAccess *MA) { in filterDependences() 171 const ScopArrayInfo *SAI, SmallPtrSetImpl<MemoryAccess *> &Writes, in isExpandable() 172 SmallPtrSetImpl<MemoryAccess *> &Reads, Scop &S, in isExpandable() 215 for (MemoryAccess *MA : Stmt) { in isExpandable() 315 SmallPtrSetImpl<MemoryAccess *> &Accesses, in mapAccess() [all …]
|
/external/llvm-project/polly/lib/Analysis/ |
D | ScopInfo.cpp | 413 void MemoryAccess::wrapConstantDimensions() { in wrapConstantDimensions() 465 void MemoryAccess::updateDimensionality() { in updateDimensionality() 552 MemoryAccess::getReductionOperatorStr(MemoryAccess::ReductionType RT) { in getReductionOperatorStr() 554 case MemoryAccess::RT_NONE: in getReductionOperatorStr() 557 case MemoryAccess::RT_ADD: in getReductionOperatorStr() 559 case MemoryAccess::RT_MUL: in getReductionOperatorStr() 561 case MemoryAccess::RT_BOR: in getReductionOperatorStr() 563 case MemoryAccess::RT_BXOR: in getReductionOperatorStr() 565 case MemoryAccess::RT_BAND: in getReductionOperatorStr() 571 const ScopArrayInfo *MemoryAccess::getOriginalScopArrayInfo() const { in getOriginalScopArrayInfo() [all …]
|
D | ScopBuilder.cpp | 1610 enum MemoryAccess::AccessType AccType = in buildAccessMultiDimFixed() 1611 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessMultiDimFixed() 1683 enum MemoryAccess::AccessType AccType = in buildAccessMultiDimParam() 1684 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessMultiDimParam() 1765 addArrayAccess(Stmt, Inst, MemoryAccess::MUST_WRITE, DestPtrSCEV->getValue(), in buildAccessMemIntrinsic() 1787 addArrayAccess(Stmt, Inst, MemoryAccess::READ, SrcPtrSCEV->getValue(), in buildAccessMemIntrinsic() 1828 auto AccType = ReadOnly ? MemoryAccess::READ : MemoryAccess::MAY_WRITE; in buildAccessCallInst() 1853 enum MemoryAccess::AccessType AccType = in buildAccessSingleDim() 1854 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessSingleDim() 1886 if (!IsAffine && AccType == MemoryAccess::MUST_WRITE) in buildAccessSingleDim() [all …]
|
/external/llvm-project/polly/lib/Support/ |
D | VirtualInstruction.cpp | 37 MemoryAccess *IncomingMA = nullptr; in create() 80 MemoryAccess *InputMA = nullptr; in create() 191 static bool isEscaping(MemoryAccess *MA) { in isEscaping() 228 SmallVectorImpl<MemoryAccess *> &RootAccs, in addAccessRoots() 258 SmallVectorImpl<MemoryAccess *> &RootAccs, bool Local) { in addRoots() 277 ArrayRef<MemoryAccess *> RootAccs, in walkReachable() 279 DenseSet<MemoryAccess *> &UsedAccs, in walkReachable() 285 SmallVector<MemoryAccess *, 32> WorklistAccs; in walkReachable() 333 MemoryAccess *DefAcc = S->getValueDef(SAI); in walkReachable() 387 if (MemoryAccess *PHIRead = Stmt->lookupPHIReadOf(PHI)) in walkReachable() [all …]
|
/external/llvm/unittests/Transforms/Utils/ |
D | MemorySSA.cpp | 104 MemoryAccess *DefiningAccess = LoadAccess->getDefiningAccess(); in TEST_F() 135 MemoryAccess *DefiningAccess = LoadAccess->getDefiningAccess(); in TEST_F() 142 EXPECT_TRUE(MSSA.isLiveOnEntryDef(cast<MemoryAccess>(Op.get()))); in TEST_F() 181 MemoryAccess *DefiningAccess = LoadAccess->getDefiningAccess(); in TEST_F() 199 MemoryAccess *Operand = cast<MemoryAccess>(&*Op); in TEST_F() 239 MemoryAccess *DefiningAccess = in TEST_F() 241 MemoryAccess *WalkerClobber = Walker->getClobberingMemoryAccess(V); in TEST_F() 267 MemoryAccess *LoadClobber = Walker->getClobberingMemoryAccess(LI); in TEST_F() 296 MemoryAccess *StoreAccess = MSSA.getMemoryAccess(SI); in TEST_F() 298 MemoryAccess *Clobber = in TEST_F() [all …]
|
/external/llvm-project/llvm/unittests/Analysis/ |
D | MemorySSATest.cpp | 106 MemoryAccess *DefiningAccess = LoadAccess->getDefiningAccess(); in TEST_F() 137 MemoryAccess *EntryStoreAccess = Updater.createMemoryAccessInBB( in TEST_F() 161 MemoryAccess *LeftStoreAccess = Updater.createMemoryAccessInBB( in TEST_F() 186 MemoryAccess *SecondEntryStoreAccess = Updater.createMemoryAccessInBB( in TEST_F() 227 MemoryAccess *StoreAccess = in TEST_F() 243 MemoryAccess *DefiningAccess = LoadAccess->getDefiningAccess(); in TEST_F() 284 MemoryAccess * NewLoadAccess = in TEST_F() 321 MemoryAccess *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore); in TEST_F() 322 MemoryAccess *SideStoreAccess = MSSA.getMemoryAccess(SideStore); in TEST_F() 323 MemoryAccess *NewStoreAccess = Updater.createMemoryAccessAfter( in TEST_F() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | NewGVN.cpp | 329 const MemoryAccess *getMemoryLeader() const { return RepMemoryAccess; } in getMemoryLeader() 330 void setMemoryLeader(const MemoryAccess *Leader) { RepMemoryAccess = Leader; } in setMemoryLeader() 410 const MemoryAccess *RepMemoryAccess = nullptr; 582 mutable DenseMap<const MemoryAccess *, SmallPtrSet<MemoryAccess *, 2>> 590 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass; 686 const MemoryAccess *) const; 688 const MemoryAccess *) const; 690 const MemoryAccess *) const; 702 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass() 708 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass() [all …]
|
/external/llvm-project/llvm/lib/Transforms/Scalar/ |
D | NewGVN.cpp | 330 const MemoryAccess *getMemoryLeader() const { return RepMemoryAccess; } in getMemoryLeader() 331 void setMemoryLeader(const MemoryAccess *Leader) { RepMemoryAccess = Leader; } in setMemoryLeader() 411 const MemoryAccess *RepMemoryAccess = nullptr; 584 mutable DenseMap<const MemoryAccess *, SmallPtrSet<MemoryAccess *, 2>> 592 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass; 689 const MemoryAccess *) const; 691 const MemoryAccess *) const; 693 const MemoryAccess *) const; 705 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass() 711 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass() [all …]
|
/external/llvm-project/llvm/docs/ |
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 …]
|
/external/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ |
D | TargetProcessControl.h | 35 class MemoryAccess { 40 virtual ~MemoryAccess(); 108 MemoryAccess &getMemoryAccess() const { return *MemAccess; } in getMemoryAccess() 153 MemoryAccess *MemAccess = nullptr; 159 private TargetProcessControl::MemoryAccess {
|