Lines Matching refs:SAI
409 const ScopArrayInfo *SAI = static_cast<ScopArrayInfo *>(User); in getFromId() local
410 return SAI; in getFromId()
414 auto *SAI = getScopArrayInfo(); in wrapConstantDimensions() local
415 isl::space ArraySpace = SAI->getSpace(); in wrapConstantDimensions()
417 unsigned DimsArray = SAI->getNumberOfDimensions(); in wrapConstantDimensions()
425 auto *DimSize = SAI->getDimensionSize(i); in wrapConstantDimensions()
466 auto *SAI = getScopArrayInfo(); in updateDimensionality() local
467 isl::space ArraySpace = SAI->getSpace(); in updateDimensionality()
477 unsigned ArrayElemSize = SAI->getElemSizeInBytes(); in updateDimensionality()
574 const ScopArrayInfo *SAI = static_cast<ScopArrayInfo *>(User); in getOriginalScopArrayInfo() local
575 return SAI; in getOriginalScopArrayInfo()
581 const ScopArrayInfo *SAI = static_cast<ScopArrayInfo *>(User); in getLatestScopArrayInfo() local
582 return SAI; in getLatestScopArrayInfo()
666 auto *SAI = getScopArrayInfo(); in assumeNoOutOfBound() local
675 isl::pw_aff SizeE = SAI->getDimensionSizePw(i); in assumeNoOutOfBound()
835 void MemoryAccess::buildAccessRelation(const ScopArrayInfo *SAI) { in buildAccessRelation() argument
844 isl::id BaseAddrId = SAI->getBasePtrId(); in buildAccessRelation()
905 auto *SAI = ScopArrayInfo::getFromId(ArrayInfoId); in MemoryAccess() local
907 for (unsigned i = 1; i < SAI->getNumberOfDimensions(); i++) in MemoryAccess()
908 Sizes.push_back(SAI->getDimensionSize(i)); in MemoryAccess()
909 ElementType = SAI->getElementType(); in MemoryAccess()
910 BaseAddr = SAI->getBasePtr(); in MemoryAccess()
1091 auto *SAI = static_cast<ScopArrayInfo *>(NewArrayId.get_user()); in setNewAccessRelation() local
1092 assert(SAI && "Must set a ScopArrayInfo"); in setNewAccessRelation()
1094 if (SAI->isArrayKind() && SAI->getBasePtrOriginSAI()) { in setNewAccessRelation()
1097 SAI->getBasePtr()); in setNewAccessRelation()
1105 auto Dims = SAI->getNumberOfDimensions(); in setNewAccessRelation()
1369 ScopArrayInfo *SAI = in ensureValueRead() local
1374 Access->buildAccessRelation(SAI); in ensureValueRead()
1841 auto &SAI = BasePtr ? ScopArrayInfoMap[std::make_pair(BasePtr, Kind)] in getOrCreateScopArrayInfo() local
1843 if (!SAI) { in getOrCreateScopArrayInfo()
1845 SAI.reset(new ScopArrayInfo(BasePtr, ElementType, getIslCtx(), Sizes, Kind, in getOrCreateScopArrayInfo()
1847 ScopArrayInfoSet.insert(SAI.get()); in getOrCreateScopArrayInfo()
1849 SAI->updateElementType(ElementType); in getOrCreateScopArrayInfo()
1852 if (!SAI->updateSizes(Sizes)) in getOrCreateScopArrayInfo()
1855 return SAI.get(); in getOrCreateScopArrayInfo()
1870 auto *SAI = getOrCreateScopArrayInfo(nullptr, ElementType, SCEVSizes, in createScopArrayInfo() local
1872 return SAI; in createScopArrayInfo()
1876 auto *SAI = ScopArrayInfoMap[std::make_pair(BasePtr, Kind)].get(); in getScopArrayInfoOrNull() local
1877 return SAI; in getScopArrayInfoOrNull()
1881 auto *SAI = getScopArrayInfoOrNull(BasePtr, Kind); in getScopArrayInfo() local
1882 assert(SAI && "No ScopArrayInfo available for this base pointer"); in getScopArrayInfo()
1883 return SAI; in getScopArrayInfo()
2488 for (auto &SAI : arrays()) { in getArrayInfoByName() local
2489 if (SAI->getName() == BaseName) in getArrayInfoByName()
2490 return SAI; in getArrayInfoByName()
2496 const ScopArrayInfo *SAI = Access->getOriginalScopArrayInfo(); in addAccessData() local
2497 assert(SAI && "can only use after access relations have been constructed"); in addAccessData()
2500 ValueUseAccs[SAI].push_back(Access); in addAccessData()
2502 PHIIncomingAccs[SAI].push_back(Access); in addAccessData()
2522 MemoryAccess *Scop::getValueDef(const ScopArrayInfo *SAI) const { in getValueDef()
2523 assert(SAI->isValueKind()); in getValueDef()
2525 Instruction *Val = dyn_cast<Instruction>(SAI->getBasePtr()); in getValueDef()
2532 ArrayRef<MemoryAccess *> Scop::getValueUses(const ScopArrayInfo *SAI) const { in getValueUses()
2533 assert(SAI->isValueKind()); in getValueUses()
2534 auto It = ValueUseAccs.find(SAI); in getValueUses()
2540 MemoryAccess *Scop::getPHIRead(const ScopArrayInfo *SAI) const { in getPHIRead()
2541 assert(SAI->isPHIKind() || SAI->isExitPHIKind()); in getPHIRead()
2543 if (SAI->isExitPHIKind()) in getPHIRead()
2546 PHINode *PHI = cast<PHINode>(SAI->getBasePtr()); in getPHIRead()
2550 ArrayRef<MemoryAccess *> Scop::getPHIIncomings(const ScopArrayInfo *SAI) const { in getPHIIncomings()
2551 assert(SAI->isPHIKind() || SAI->isExitPHIKind()); in getPHIIncomings()
2552 auto It = PHIIncomingAccs.find(SAI); in getPHIIncomings()