Lines Matching refs:MA

72 static bool isImplicitRead(MemoryAccess *MA) {  in isImplicitRead()  argument
73 return MA->isRead() && MA->isOriginalScalarKind(); in isImplicitRead()
76 static bool isExplicitAccess(MemoryAccess *MA) { in isExplicitAccess() argument
77 return MA->isOriginalArrayKind(); in isExplicitAccess()
80 static bool isImplicitWrite(MemoryAccess *MA) { in isImplicitWrite() argument
81 return MA->isWrite() && MA->isOriginalScalarKind(); in isImplicitWrite()
258 for (auto *MA : reverse(Accesses)) { in removeOverwrites() local
263 if (Stmt.isRegionStmt() && isExplicitAccess(MA)) in removeOverwrites()
266 auto AccRel = MA->getAccessRelation(); in removeOverwrites()
271 if (MA->isRead()) { in removeOverwrites()
282 LLVM_DEBUG(dbgs() << "Removing " << MA in removeOverwrites()
285 Stmt.removeSingleMemoryAccess(MA); in removeOverwrites()
291 if (MA->isMustWrite()) { in removeOverwrites()
337 for (MemoryAccess *MA : reverse(Accesses)) { in coalesceWrites()
341 if (Stmt.isRegionStmt() && isExplicitAccess(MA)) in coalesceWrites()
345 isl::map AccRel = MA->getLatestAccessRelation().intersect_domain(Domain); in coalesceWrites()
353 if (MA->isMustWrite() && (MA->isOriginalScalarKind() || in coalesceWrites()
354 isa<StoreInst>(MA->getAccessInstruction()))) { in coalesceWrites()
363 Value *StoredVal = MA->tryGetValueStored(); in coalesceWrites()
365 StoredVal = MA->getAccessValue(); in coalesceWrites()
417 Stmt.removeSingleMemoryAccess(MA); in coalesceWrites()
421 MA = OtherMA; in coalesceWrites()
439 MemoryAccess *MA = (MemoryAccess *)Map.get_space() in coalesceWrites() local
444 TouchedAccesses.insert(MA); in coalesceWrites()
449 MemoryAccess *MA = (MemoryAccess *)FutureWrite.get_space() in coalesceWrites() local
454 if (!TouchedAccesses.count(MA)) in coalesceWrites()
459 if (MA->isMustWrite() && !ValSet.is_null()) { in coalesceWrites()
463 .set_tuple_id(isl::dim::set, MA->getId())); in coalesceWrites()
505 for (MemoryAccess *MA : Accesses) { in removeRedundantWrites()
511 Stmt.isBlockStmt() || MA->isOriginalScalarKind() || in removeRedundantWrites()
512 (!S->getBoxedLoops().size() && MA->getAccessInstruction() && in removeRedundantWrites()
513 Stmt.getEntryBlock() == MA->getAccessInstruction()->getParent()); in removeRedundantWrites()
515 isl::map AccRel = MA->getAccessRelation(); in removeRedundantWrites()
522 if (IsOrdered && MA->isMustWrite() && in removeRedundantWrites()
523 (isa<StoreInst>(MA->getAccessInstruction()) || in removeRedundantWrites()
524 MA->isOriginalScalarKind())) { in removeRedundantWrites()
525 Value *StoredVal = MA->tryGetValueStored(); in removeRedundantWrites()
527 StoredVal = MA->getAccessValue(); in removeRedundantWrites()
534 LLVM_DEBUG(dbgs() << "Cleanup of " << MA << ":\n"); in removeRedundantWrites()
538 Stmt.removeSingleMemoryAccess(MA); in removeRedundantWrites()
547 if (MA->isRead()) { in removeRedundantWrites()
550 Value *LoadedVal = MA->getAccessValue(); in removeRedundantWrites()
557 } else if (MA->isWrite()) { in removeRedundantWrites()
589 for (MemoryAccess *MA : Stmt) { in removeEmptyPartialAccesses()
590 if (!MA->isWrite()) in removeEmptyPartialAccesses()
593 isl::map AccRel = MA->getAccessRelation(); in removeEmptyPartialAccesses()
598 dbgs() << "Removing " << MA in removeEmptyPartialAccesses()
600 DeferredRemove.push_back(MA); in removeEmptyPartialAccesses()
603 for (MemoryAccess *MA : DeferredRemove) { in removeEmptyPartialAccesses()
604 Stmt.removeSingleMemoryAccess(MA); in removeEmptyPartialAccesses()
627 for (MemoryAccess *MA : AllMAs) { in markAndSweep()
628 if (UsedMA.count(MA)) in markAndSweep()
630 LLVM_DEBUG(dbgs() << "Removing " << MA in markAndSweep()
632 ScopStmt *Stmt = MA->getStatement(); in markAndSweep()
633 Stmt->removeSingleMemoryAccess(MA); in markAndSweep()
695 for (auto *MA : Stmt) in printAccesses() local
696 MA->print(OS); in printAccesses()