Lines Matching refs:Access
870 const std::string Access = TypeStrings[AccType] + utostr(Stmt->size()); in MemoryAccess() local
872 std::string IdName = Stmt->getBaseName() + Access; in MemoryAccess()
887 const std::string Access = TypeStrings[AccType] + utostr(Stmt->size()); in MemoryAccess() local
889 std::string IdName = Stmt->getBaseName() + Access; in MemoryAccess()
1116 void ScopStmt::addAccess(MemoryAccess *Access, bool Prepend) { in addAccess() argument
1117 Instruction *AccessInst = Access->getAccessInstruction(); in addAccess()
1119 if (Access->isArrayKind()) { in addAccess()
1121 MAL.emplace_front(Access); in addAccess()
1122 } else if (Access->isValueKind() && Access->isWrite()) { in addAccess()
1123 Instruction *AccessVal = cast<Instruction>(Access->getAccessValue()); in addAccess()
1126 ValueWrites[AccessVal] = Access; in addAccess()
1127 } else if (Access->isValueKind() && Access->isRead()) { in addAccess()
1128 Value *AccessVal = Access->getAccessValue(); in addAccess()
1131 ValueReads[AccessVal] = Access; in addAccess()
1132 } else if (Access->isAnyPHIKind() && Access->isWrite()) { in addAccess()
1133 PHINode *PHI = cast<PHINode>(Access->getAccessValue()); in addAccess()
1136 PHIWrites[PHI] = Access; in addAccess()
1137 } else if (Access->isAnyPHIKind() && Access->isRead()) { in addAccess()
1138 PHINode *PHI = cast<PHINode>(Access->getAccessValue()); in addAccess()
1141 PHIReads[PHI] = Access; in addAccess()
1145 MemAccs.insert(MemAccs.begin(), Access); in addAccess()
1148 MemAccs.push_back(Access); in addAccess()
1190 auto *Access = in ScopStmt() local
1192 parent.addAccessFunction(Access); in ScopStmt()
1193 addAccess(Access); in ScopStmt()
1195 Access = new MemoryAccess(this, MemoryAccess::AccessType::READ, SourceRel); in ScopStmt()
1196 parent.addAccessFunction(Access); in ScopStmt()
1197 addAccess(Access); in ScopStmt()
1257 for (MemoryAccess *Access : MemAccs) in print()
1258 Access->print(OS); in print()
1330 MemoryAccess *Access = lookupInputAccessOf(V); in ensureValueRead() local
1331 if (Access) in ensureValueRead()
1332 return Access; in ensureValueRead()
1336 Access = new MemoryAccess(this, nullptr, MemoryAccess::READ, V, V->getType(), in ensureValueRead()
1338 Parent.addAccessFunction(Access); in ensureValueRead()
1339 Access->buildAccessRelation(SAI); in ensureValueRead()
1340 addAccess(Access); in ensureValueRead()
1341 Parent.addAccessData(Access); in ensureValueRead()
1342 return Access; in ensureValueRead()
2410 void Scop::addAccessData(MemoryAccess *Access) { in addAccessData() argument
2411 const ScopArrayInfo *SAI = Access->getOriginalScopArrayInfo(); in addAccessData()
2414 if (Access->isOriginalValueKind() && Access->isRead()) in addAccessData()
2415 ValueUseAccs[SAI].push_back(Access); in addAccessData()
2416 else if (Access->isOriginalAnyPHIKind() && Access->isWrite()) in addAccessData()
2417 PHIIncomingAccs[SAI].push_back(Access); in addAccessData()
2420 void Scop::removeAccessData(MemoryAccess *Access) { in removeAccessData() argument
2421 if (Access->isOriginalValueKind() && Access->isWrite()) { in removeAccessData()
2422 ValueDefAccs.erase(Access->getAccessValue()); in removeAccessData()
2423 } else if (Access->isOriginalValueKind() && Access->isRead()) { in removeAccessData()
2424 auto &Uses = ValueUseAccs[Access->getScopArrayInfo()]; in removeAccessData()
2425 auto NewEnd = std::remove(Uses.begin(), Uses.end(), Access); in removeAccessData()
2427 } else if (Access->isOriginalPHIKind() && Access->isRead()) { in removeAccessData()
2428 PHINode *PHI = cast<PHINode>(Access->getAccessInstruction()); in removeAccessData()
2430 } else if (Access->isOriginalAnyPHIKind() && Access->isWrite()) { in removeAccessData()
2431 auto &Incomings = PHIIncomingAccs[Access->getScopArrayInfo()]; in removeAccessData()
2432 auto NewEnd = std::remove(Incomings.begin(), Incomings.end(), Access); in removeAccessData()