Lines Matching defs:MemoryAccess

390 void MemoryAccess::wrapConstantDimensions() {
442 void MemoryAccess::updateDimensionality() {
531 MemoryAccess::getReductionOperatorStr(MemoryAccess::ReductionType RT) {
533 case MemoryAccess::RT_NONE:
536 case MemoryAccess::RT_BOTTOM:
539 case MemoryAccess::RT_ADD:
541 case MemoryAccess::RT_MUL:
543 case MemoryAccess::RT_BOR:
545 case MemoryAccess::RT_BXOR:
547 case MemoryAccess::RT_BAND:
553 const ScopArrayInfo *MemoryAccess::getOriginalScopArrayInfo() const {
560 const ScopArrayInfo *MemoryAccess::getLatestScopArrayInfo() const {
567 isl::id MemoryAccess::getOriginalArrayId() const {
571 isl::id MemoryAccess::getLatestArrayId() const {
577 isl::map MemoryAccess::getAddressFunction() const {
582 MemoryAccess::applyScheduleToAccessRelation(isl::union_map USchedule) const {
593 isl::map MemoryAccess::getOriginalAccessRelation() const {
597 std::string MemoryAccess::getOriginalAccessRelationStr() const {
601 isl::space MemoryAccess::getOriginalAccessRelationSpace() const {
605 isl::map MemoryAccess::getNewAccessRelation() const {
609 std::string MemoryAccess::getNewAccessRelationStr() const {
613 std::string MemoryAccess::getAccessRelationStr() const {
617 isl::basic_map MemoryAccess::createBasicAccessMap(ScopStmt *Statement) {
647 isl::set MemoryAccess::assumeNoOutOfBound() {
681 void MemoryAccess::buildMemIntrinsicAccessRelation() {
705 void MemoryAccess::computeBoundsOnAccessRelation(unsigned ElementSize) {
750 void MemoryAccess::foldAccessRelation() {
817 void MemoryAccess::buildAccessRelation(const ScopArrayInfo *SAI) {
863 MemoryAccess::MemoryAccess(ScopStmt *Stmt, Instruction *AccessInst,
882 MemoryAccess::MemoryAccess(ScopStmt *Stmt, AccessType AccType, isl::map AccRel)
899 MemoryAccess::~MemoryAccess() = default;
901 void MemoryAccess::realignParams() {
913 const std::string MemoryAccess::getReductionOperatorStr() const {
914 return MemoryAccess::getReductionOperatorStr(getReductionType());
917 isl::id MemoryAccess::getId() const { return Id; }
920 MemoryAccess::ReductionType RT) {
922 case MemoryAccess::RT_NONE:
923 case MemoryAccess::RT_BOTTOM:
927 OS << MemoryAccess::getReductionOperatorStr(RT);
933 void MemoryAccess::print(raw_ostream &OS) const {
955 LLVM_DUMP_METHOD void MemoryAccess::dump() const { print(errs()); }
958 isl::pw_aff MemoryAccess::getPwAff(const SCEV *E) {
1000 isl::set MemoryAccess::getStride(isl::map Schedule) const {
1017 bool MemoryAccess::isStrideX(isl::map Schedule, int StrideWidth) const {
1032 bool MemoryAccess::isStrideZero(isl::map Schedule) const {
1036 bool MemoryAccess::isStrideOne(isl::map Schedule) const {
1040 void MemoryAccess::setAccessRelation(isl::map NewAccess) {
1044 void MemoryAccess::setNewAccessRelation(isl::map NewAccess) {
1095 bool MemoryAccess::isLatestPartialAccess() const {
1127 void ScopStmt::addAccess(MemoryAccess *Access, bool Prepend) {
1163 for (MemoryAccess *MA : *this)
1202 new MemoryAccess(this, MemoryAccess::AccessType::MUST_WRITE, TargetRel);
1206 Access = new MemoryAccess(this, MemoryAccess::AccessType::READ, SourceRel);
1268 for (MemoryAccess *Access : MemAccs)
1279 void ScopStmt::removeAccessData(MemoryAccess *MA) {
1302 void ScopStmt::removeMemoryAccess(MemoryAccess *MA) {
1309 auto Predicate = [&](MemoryAccess *Acc) {
1322 void ScopStmt::removeSingleMemoryAccess(MemoryAccess *MA, bool AfterHoisting) {
1340 MemoryAccess *ScopStmt::ensureValueRead(Value *V) {
1341 MemoryAccess *Access = lookupInputAccessOf(V);
1347 Access = new MemoryAccess(this, nullptr, MemoryAccess::READ, V, V->getType(),
1676 SmallVector<MemoryAccess *, 16> MAList(StmtIt->begin(), StmtIt->end());
1677 for (MemoryAccess *MA : MAList)
1706 for (MemoryAccess *MA : Stmt) {
1892 MemoryAccess *Scop::lookupBasePtrAccess(MemoryAccess *MA) {
2215 Scop::getAccessesOfType(std::function<bool(MemoryAccess &)> Predicate) {
2219 for (MemoryAccess *MA : Stmt) {
2234 return getAccessesOfType([](MemoryAccess &MA) { return MA.isMustWrite(); });
2238 return getAccessesOfType([](MemoryAccess &MA) { return MA.isMayWrite(); });
2242 return getAccessesOfType([](MemoryAccess &MA) { return MA.isWrite(); });
2246 return getAccessesOfType([](MemoryAccess &MA) { return MA.isRead(); });
2250 return getAccessesOfType([](MemoryAccess &MA) { return true; });
2255 [Array](MemoryAccess &MA) { return MA.getScopArrayInfo() == Array; });
2417 void Scop::addAccessData(MemoryAccess *Access) {
2427 void Scop::removeAccessData(MemoryAccess *Access) {
2442 MemoryAccess *Scop::getValueDef(const ScopArrayInfo *SAI) const {
2452 ArrayRef<MemoryAccess *> Scop::getValueUses(const ScopArrayInfo *SAI) const {
2460 MemoryAccess *Scop::getPHIRead(const ScopArrayInfo *SAI) const {
2470 ArrayRef<MemoryAccess *> Scop::getPHIIncomings(const ScopArrayInfo *SAI) const {
2513 for (MemoryAccess *MA : Stmt) {