Lines Matching refs:MA
2539 for (MemoryAccess *MA : Stmt) { in checkForReductions()
2540 if (MA == CandidatePair.first || MA == CandidatePair.second) in checkForReductions()
2544 MA->getAccessRelation().intersect_domain(Stmt.getDomain()); in checkForReductions()
2598 Stmt.removeMemoryAccess(InvMA.MA); in hoistInvariantLoads()
2629 bool ScopBuilder::hasNonHoistableBasePtrInScop(MemoryAccess *MA, in hasNonHoistableBasePtrInScop() argument
2631 if (auto *BasePtrMA = scop->lookupBasePtrAccess(MA)) { in hasNonHoistableBasePtrInScop()
2635 Value *BaseAddr = MA->getOriginalBaseAddr(); in hasNonHoistableBasePtrInScop()
2762 bool ScopBuilder::canAlwaysBeHoisted(MemoryAccess *MA, in canAlwaysBeHoisted() argument
2766 LoadInst *LInst = cast<LoadInst>(MA->getAccessInstruction()); in canAlwaysBeHoisted()
2792 for (const SCEV *Subscript : MA->subscripts()) in canAlwaysBeHoisted()
2812 auto *AccInst = InvMAs.front().MA->getAccessInstruction(); in addInvariantLoads()
2823 auto *MA = InvMA.MA; in addInvariantLoads() local
2824 Instruction *AccInst = MA->getAccessInstruction(); in addInvariantLoads()
2844 auto *MA = InvMA.MA; in addInvariantLoads() local
2850 LoadInst *LInst = cast<LoadInst>(MA->getAccessInstruction()); in addInvariantLoads()
2854 isl::set MAInvalidCtx = MA->getInvalidContext(); in addInvariantLoads()
2860 if (canAlwaysBeHoisted(MA, StmtInvalidCtxIsEmpty, MAInvalidCtxIsEmpty, in addInvariantLoads()
2883 isl::set AR = MA->getAccessRelation().range(); in addInvariantLoads()
2892 MAs.push_front(MA); in addInvariantLoads()
2914 InvariantEquivClassTy{PointerSCEV, MemoryAccessList{MA}, MACtx, Ty}); in addInvariantLoads()
3155 for (MemoryAccess *MA : AliasGroup) in calculateMinMaxAccess()
3156 Accesses = Accesses.unite(MA->getAccessRelation()); in calculateMinMaxAccess()
3171 static isl::set getAccessDomain(MemoryAccess *MA) { in getAccessDomain() argument
3172 isl::set Domain = MA->getStatement()->getDomain(); in getAccessDomain()
3215 for (MemoryAccess *MA : Stmt) { in buildAliasGroupsForAccesses()
3216 if (MA->isScalarKind()) in buildAliasGroupsForAccesses()
3218 if (!MA->isRead()) in buildAliasGroupsForAccesses()
3219 HasWriteAccess.insert(MA->getScopArrayInfo()); in buildAliasGroupsForAccesses()
3220 MemAccInst Acc(MA->getAccessInstruction()); in buildAliasGroupsForAccesses()
3221 if (MA->isRead() && isa<MemTransferInst>(Acc)) in buildAliasGroupsForAccesses()
3222 PtrToAcc[cast<MemTransferInst>(Acc)->getRawSource()] = MA; in buildAliasGroupsForAccesses()
3224 PtrToAcc[Acc.getPointerOperand()] = MA; in buildAliasGroupsForAccesses()
3311 for (MemoryAccess *MA : AliasGroup) { in buildAliasGroup()
3312 if (!MA->isAffine()) { in buildAliasGroup()
3313 scop->invalidate(ALIASING, MA->getAccessInstruction()->getDebugLoc(), in buildAliasGroup()
3314 MA->getAccessInstruction()->getParent()); in buildAliasGroup()
3321 for (MemoryAccess *MA : AliasGroup) { in buildAliasGroup()
3322 if (MemoryAccess *BasePtrMA = scop->lookupBasePtrAccess(MA)) in buildAliasGroup()
3362 MemoryAccess *MA = *AGI; in splitAliasGroupsByDomain() local
3363 isl::set MADomain = getAccessDomain(MA); in splitAliasGroupsByDomain()
3365 NewAG.push_back(MA); in splitAliasGroupsByDomain()