Lines Matching defs:MA
254 const MemoryAccess &MA = Stmt.getArrayAccessFor(Inst);
258 NewAccesses, MA.getId().release(), MA.getAccessValue()->getType());
316 MemoryAccess &MA = Stmt.getArrayAccessFor(Store);
317 isl::set AccDom = MA.getAccessRelation().domain();
318 std::string Subject = MA.getId().get_name();
553 for (MemoryAccess *MA : Stmt) {
554 if (MA->isOriginalArrayKind() || MA->isWrite())
560 auto AccDom = MA->getAccessRelation().domain();
566 getImplicitAddress(*MA, getLoopForStmt(Stmt), LTS, BBMap, NewAccesses);
567 BBMap[MA->getAccessValue()] = Builder.CreateLoad(
568 MA->getElementType(), Address, Address->getName() + ".reload");
753 for (MemoryAccess *MA : Stmt) {
754 if (MA->isOriginalArrayKind() || MA->isRead())
757 isl::set AccDom = MA->getAccessRelation().domain();
758 std::string Subject = MA->getId().get_name();
761 Stmt, AccDom, Subject.c_str(), [&, this, MA]() {
762 Value *Val = MA->getAccessValue();
763 if (MA->isAnyPHIKind()) {
764 assert(MA->getIncoming().size() >= 1 &&
768 assert(std::all_of(MA->getIncoming().begin(),
769 MA->getIncoming().end(),
774 Val = MA->getIncoming()[0].second;
776 auto Address = getImplicitAddress(*MA, getLoopForStmt(Stmt), LTS,
1217 PHINode *RegionGenerator::buildExitPHI(MemoryAccess *MA, LoopToScevMapT <S,
1219 ScopStmt *Stmt = MA->getStatement();
1221 auto Incoming = MA->getIncoming();
1224 PHINode *OrigPHI = cast<PHINode>(MA->getAccessInstruction());
1258 Value *RegionGenerator::getExitScalar(MemoryAccess *MA, LoopToScevMapT <S,
1260 ScopStmt *Stmt = MA->getStatement();
1265 if (MA->isAnyPHIKind()) {
1266 auto Incoming = MA->getIncoming();
1276 return buildExitPHI(MA, LTS, BBMap, L);
1281 Value *OldVal = MA->getAccessValue();
1300 for (MemoryAccess *MA : Stmt) {
1301 if (MA->isOriginalArrayKind() || MA->isRead())
1304 Value *NewVal = getExitScalar(MA, LTS, BBMap);
1305 NewExitScalars[MA] = NewVal;
1308 for (MemoryAccess *MA : Stmt) {
1309 if (MA->isOriginalArrayKind() || MA->isRead())
1312 isl::set AccDom = MA->getAccessRelation().domain();
1313 std::string Subject = MA->getId().get_name();
1315 Stmt, AccDom, Subject.c_str(), [&, this, MA]() {
1316 Value *NewVal = NewExitScalars.lookup(MA);
1318 Value *Address = getImplicitAddress(*MA, getLoopForStmt(Stmt), LTS,