Lines Matching refs:MA
299 for (auto *MA : *Stmt) { in onlySameValueWrites()
300 if (!MA->isLatestArrayKind() || !MA->isMustWrite() || in onlySameValueWrites()
301 !MA->isOriginalArrayKind()) in onlySameValueWrites()
305 V = MA->getAccessValue(); in onlySameValueWrites()
309 if (V != MA->getAccessValue()) in onlySameValueWrites()
330 for (auto *MA : *Stmt) { in collectIncompatibleElts()
331 if (!MA->isOriginalArrayKind()) in collectIncompatibleElts()
334 isl::map AccRelMap = getAccessRelationFor(MA); in collectIncompatibleElts()
342 if (MA->isRead()) { in collectIncompatibleElts()
348 MA->getAccessInstruction()); in collectIncompatibleElts()
367 MA->getAccessInstruction()); in collectIncompatibleElts()
378 MA->getAccessInstruction()); in collectIncompatibleElts()
391 void ZoneAlgorithm::addArrayReadAccess(MemoryAccess *MA) { in addArrayReadAccess() argument
392 assert(MA->isLatestArrayKind()); in addArrayReadAccess()
393 assert(MA->isRead()); in addArrayReadAccess()
394 ScopStmt *Stmt = MA->getStatement(); in addArrayReadAccess()
397 auto AccRel = intersectRange(getAccessRelationFor(MA), CompatibleElts); in addArrayReadAccess()
400 if (LoadInst *Load = dyn_cast_or_null<LoadInst>(MA->getAccessInstruction())) { in addArrayReadAccess()
415 isl::union_map ZoneAlgorithm::getWrittenValue(MemoryAccess *MA, in getWrittenValue() argument
417 if (!MA->isMustWrite()) in getWrittenValue()
420 Value *AccVal = MA->getAccessValue(); in getWrittenValue()
421 ScopStmt *Stmt = MA->getStatement(); in getWrittenValue()
422 Instruction *AccInst = MA->getAccessInstruction(); in getWrittenValue()
425 auto L = MA->isOriginalArrayKind() ? LI->getLoopFor(AccInst->getParent()) in getWrittenValue()
428 AccVal->getType() == MA->getLatestScopArrayInfo()->getElementType() && in getWrittenValue()
437 Type *Ty = MA->getLatestScopArrayInfo()->getElementType(); in getWrittenValue()
447 void ZoneAlgorithm::addArrayWriteAccess(MemoryAccess *MA) { in addArrayWriteAccess() argument
448 assert(MA->isLatestArrayKind()); in addArrayWriteAccess()
449 assert(MA->isWrite()); in addArrayWriteAccess()
450 auto *Stmt = MA->getStatement(); in addArrayWriteAccess()
453 isl::map AccRel = intersectRange(getAccessRelationFor(MA), CompatibleElts); in addArrayWriteAccess()
455 if (MA->isMustWrite()) in addArrayWriteAccess()
458 if (MA->isMayWrite()) in addArrayWriteAccess()
462 isl::union_map WriteValInstance = getWrittenValue(MA, AccRel); in addArrayWriteAccess()
558 for (MemoryAccess *MA : S->getPHIIncomings(SAI)) { in computePerPHI()
559 isl::map Scatter = getScatterFor(MA); in computePerPHI()
621 isl::map ZoneAlgorithm::getScatterFor(MemoryAccess *MA) const { in getScatterFor()
622 return getScatterFor(MA->getStatement()); in getScatterFor()
642 isl::set ZoneAlgorithm::getDomainFor(MemoryAccess *MA) const { in getDomainFor()
643 return getDomainFor(MA->getStatement()); in getDomainFor()
646 isl::map ZoneAlgorithm::getAccessRelationFor(MemoryAccess *MA) const { in getAccessRelationFor()
647 auto Domain = getDomainFor(MA); in getAccessRelationFor()
648 auto AccRel = MA->getLatestAccessRelation(); in getAccessRelationFor()
889 bool ZoneAlgorithm::isCompatibleAccess(MemoryAccess *MA) { in isCompatibleAccess() argument
890 if (!MA) in isCompatibleAccess()
892 if (!MA->isLatestArrayKind()) in isCompatibleAccess()
894 Instruction *AccInst = MA->getAccessInstruction(); in isCompatibleAccess()
898 bool ZoneAlgorithm::isNormalizable(MemoryAccess *MA) { in isNormalizable() argument
899 assert(MA->isRead()); in isNormalizable()
903 if (!MA->isOriginalPHIKind()) in isNormalizable()
908 auto *PHI = cast<PHINode>(MA->getAccessInstruction()); in isNormalizable()
916 const ScopArrayInfo *SAI = MA->getOriginalScopArrayInfo(); in isNormalizable()
977 for (auto *MA : Stmt) { in computeCommon() local
978 if (!MA->isLatestArrayKind()) in computeCommon()
981 if (MA->isRead()) in computeCommon()
982 addArrayReadAccess(MA); in computeCommon()
984 if (MA->isWrite()) in computeCommon()
985 addArrayWriteAccess(MA); in computeCommon()
1002 for (MemoryAccess *MA : Stmt) { in computeNormalizedPHIs()
1003 if (!MA->isPHIKind()) in computeNormalizedPHIs()
1005 if (!MA->isRead()) in computeNormalizedPHIs()
1010 auto *PHI = cast<PHINode>(MA->getAccessInstruction()); in computeNormalizedPHIs()
1024 for (MemoryAccess *MA : Stmt) { in computeNormalizedPHIs()
1025 if (!MA->isOriginalPHIKind()) in computeNormalizedPHIs()
1027 if (!MA->isRead()) in computeNormalizedPHIs()
1029 if (!isNormalizable(MA)) in computeNormalizedPHIs()
1032 auto *PHI = cast<PHINode>(MA->getAccessInstruction()); in computeNormalizedPHIs()
1033 const ScopArrayInfo *SAI = MA->getOriginalScopArrayInfo(); in computeNormalizedPHIs()
1049 for (MemoryAccess *MA : S->getPHIIncomings(SAI)) { in computeNormalizedPHIs()
1050 ScopStmt *IncomingStmt = MA->getStatement(); in computeNormalizedPHIs()
1052 auto Incoming = MA->getIncoming(); in computeNormalizedPHIs()
1095 for (auto *MA : Stmt) in printAccesses() local
1096 MA->print(OS); in printAccesses()