Lines Matching refs:MemoryAccess
1449 enum MemoryAccess::AccessType AccType = in buildAccessMultiDimFixed()
1450 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessMultiDimFixed()
1511 enum MemoryAccess::AccessType AccType = in buildAccessMultiDimParam()
1512 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessMultiDimParam()
1598 addArrayAccess(Stmt, Inst, MemoryAccess::MUST_WRITE, DestPtrSCEV->getValue(), in buildAccessMemIntrinsic()
1620 addArrayAccess(Stmt, Inst, MemoryAccess::READ, SrcPtrSCEV->getValue(), in buildAccessMemIntrinsic()
1661 auto AccType = ReadOnly ? MemoryAccess::READ : MemoryAccess::MAY_WRITE; in buildAccessCallInst()
1691 enum MemoryAccess::AccessType AccType = in buildAccessSingleDim()
1692 isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE; in buildAccessSingleDim()
1724 if (!IsAffine && AccType == MemoryAccess::MUST_WRITE) in buildAccessSingleDim()
1725 AccType = MemoryAccess::MAY_WRITE; in buildAccessSingleDim()
2107 MemoryAccess *ScopBuilder::addMemoryAccess( in addMemoryAccess()
2108 ScopStmt *Stmt, Instruction *Inst, MemoryAccess::AccessType AccType, in addMemoryAccess()
2134 if (!isKnownMustAccess && AccType == MemoryAccess::MUST_WRITE) in addMemoryAccess()
2135 AccType = MemoryAccess::MAY_WRITE; in addMemoryAccess()
2137 auto *Access = new MemoryAccess(Stmt, Inst, AccType, BaseAddress, ElementType, in addMemoryAccess()
2146 MemoryAccess::AccessType AccType, in addArrayAccess()
2295 for (MemoryAccess *Access : Stmt) { in updateAccessDimensionality()
2357 addMemoryAccess(Stmt, Inst, MemoryAccess::MUST_WRITE, Inst, Inst->getType(), in ensureValueWrite()
2396 addMemoryAccess(UserStmt, nullptr, MemoryAccess::READ, V, V->getType(), in ensureValueRead()
2430 if (MemoryAccess *Acc = IncomingStmt->lookupPHIWriteOf(PHI)) { in ensurePHIWrite()
2436 MemoryAccess *Acc = addMemoryAccess( in ensurePHIWrite()
2437 IncomingStmt, PHI, MemoryAccess::MUST_WRITE, PHI, PHI->getType(), true, in ensurePHIWrite()
2445 addMemoryAccess(PHIStmt, PHI, MemoryAccess::READ, PHI, PHI->getType(), true, in addPHIReadAccess()
2477 static MemoryAccess::ReductionType getReductionType(const BinaryOperator *BinOp, in getReductionType()
2480 return MemoryAccess::RT_NONE; in getReductionType()
2484 return MemoryAccess::RT_NONE; in getReductionType()
2487 return MemoryAccess::RT_ADD; in getReductionType()
2489 return MemoryAccess::RT_BOR; in getReductionType()
2491 return MemoryAccess::RT_BXOR; in getReductionType()
2493 return MemoryAccess::RT_BAND; in getReductionType()
2496 return MemoryAccess::RT_NONE; in getReductionType()
2500 return MemoryAccess::RT_NONE; in getReductionType()
2501 return MemoryAccess::RT_MUL; in getReductionType()
2503 return MemoryAccess::RT_NONE; in getReductionType()
2508 SmallVector<MemoryAccess *, 2> Loads; in checkForReductions()
2509 SmallVector<std::pair<MemoryAccess *, MemoryAccess *>, 4> Candidates; in checkForReductions()
2513 for (MemoryAccess *StoreMA : Stmt) { in checkForReductions()
2519 for (MemoryAccess *LoadMA : Loads) in checkForReductions()
2539 for (MemoryAccess *MA : Stmt) { in checkForReductions()
2558 MemoryAccess::ReductionType RT = in checkForReductions()
2590 for (MemoryAccess *Access : Stmt) { in hoistInvariantLoads()
2629 bool ScopBuilder::hasNonHoistableBasePtrInScop(MemoryAccess *MA, in hasNonHoistableBasePtrInScop()
2684 isl::set ScopBuilder::getNonHoistableCtx(MemoryAccess *Access, in getNonHoistableCtx()
2762 bool ScopBuilder::canAlwaysBeHoisted(MemoryAccess *MA, in canAlwaysBeHoisted()
2919 MemoryAccess *StoreMA, SmallVectorImpl<MemoryAccess *> &Loads) { in collectCandidateReductionLoads()
2970 for (MemoryAccess *Access : Accesses) { in findCanonicalArray()
2982 for (MemoryAccess *Access2 : EqClass2.InvariantAccesses) in isUsedForIndirectHoistedLoad()
2993 for (MemoryAccess *Access : Stmt) { in replaceBasePtrArrays()
3014 for (MemoryAccess *BasePtrAccess : BasePtrAccesses) { in canonicalizeDynamicBasePtrs()
3035 for (MemoryAccess *Access : Stmt.MemAccs) { in buildAccessRelations()
3155 for (MemoryAccess *MA : AliasGroup) in calculateMinMaxAccess()
3171 static isl::set getAccessDomain(MemoryAccess *MA) { in getAccessDomain()
3204 DenseMap<Value *, MemoryAccess *> PtrToAcc; in buildAliasGroupsForAccesses()
3215 for (MemoryAccess *MA : Stmt) { in buildAliasGroupsForAccesses()
3286 for (MemoryAccess *Access : AliasGroup) { in buildAliasGroup()
3311 for (MemoryAccess *MA : AliasGroup) { in buildAliasGroup()
3321 for (MemoryAccess *MA : AliasGroup) { in buildAliasGroup()
3322 if (MemoryAccess *BasePtrMA = scop->lookupBasePtrAccess(MA)) in buildAliasGroup()
3362 MemoryAccess *MA = *AGI; in splitAliasGroupsByDomain()
3506 addArrayAccess(GlobalReadStmt, MemAccInst(GlobalRead), MemoryAccess::READ, in buildScop()