Home
last modified time | relevance | path

Searched refs:SAI (Results 1 – 25 of 25) sorted by relevance

/llvm-project-15.0.7/polly/lib/Transform/
H A DMaximalStaticExpansion.cpp113 if (SAI != UserSAI) in filterDependences()
140 if (SAI->isValueKind()) { in isExpandable()
141 Writes.insert(S.getValueDef(SAI)); in isExpandable()
145 } else if (SAI->isPHIKind()) { in isExpandable()
146 auto Read = S.getPHIRead(SAI); in isExpandable()
169 } else if (SAI->isExitPHIKind()) { in isExpandable()
249 emitRemark(SAI->getName() + in isExpandable()
405 auto Read = S.getPHIRead(SAI); in expandPhi()
423 for (auto SAI : CurrentSAI) { in expand() local
429 if (SAI->isValueKind() || SAI->isArrayKind()) { in expand()
[all …]
H A DDeLICM.cpp557 assert(SAI); in isMappable()
559 if (SAI->isValueKind()) { in isMappable()
587 if (SAI->isPHIKind()) { in isMappable()
620 assert(SAI->isValueKind()); in computeValueUses()
670 assert(SAI->isValueKind()); in tryMapValue()
784 auto *WA = S->getValueDef(SAI); in mapValue()
1067 if (Closed.count(SAI)) in collapseScalarsToStore()
1069 Closed.insert(SAI); in collapseScalarsToStore()
1074 if (!isMappable(SAI)) in collapseScalarsToStore()
1085 if (SAI->isValueKind()) { in collapseScalarsToStore()
[all …]
H A DZoneAlgo.cpp536 isl::union_map ZoneAlgorithm::computePerPHI(const ScopArrayInfo *SAI) { in computePerPHI() argument
540 auto *PHI = cast<PHINode>(SAI->getBasePtr()); in computePerPHI()
552 assert(SAI->isPHIKind()); in computePerPHI()
558 for (MemoryAccess *MA : S->getPHIIncomings(SAI)) { in computePerPHI()
564 isl::map PHIReadScatter = getScatterFor(S->getPHIRead(SAI)); in computePerPHI()
916 const ScopArrayInfo *SAI = MA->getOriginalScopArrayInfo(); in isNormalizable() local
917 auto Incomings = S->getPHIIncomings(SAI); in isNormalizable()
1033 const ScopArrayInfo *SAI = MA->getOriginalScopArrayInfo(); in computeNormalizedPHIs() local
1038 isl::union_map PerPHI = computePerPHI(SAI); in computeNormalizedPHIs()
1049 for (MemoryAccess *MA : S->getPHIIncomings(SAI)) { in computeNormalizedPHIs()
H A DForwardOpTree.cpp319 ScopArrayInfo *SAI = static_cast<ScopArrayInfo *>(ArrayId.get_user()); in singleLocation() local
322 if (SAI->getBasePtrOriginSAI()) in singleLocation()
421 ScopArrayInfo *SAI = reinterpret_cast<ScopArrayInfo *>(ArrayId.get_user()); in makeReadArrayAccess() local
425 Sizes.reserve(SAI->getNumberOfDimensions()); in makeReadArrayAccess()
427 Subscripts.reserve(SAI->getNumberOfDimensions()); in makeReadArrayAccess()
428 for (unsigned i = 0; i < SAI->getNumberOfDimensions(); i += 1) { in makeReadArrayAccess()
429 Sizes.push_back(SAI->getDimensionSize(i)); in makeReadArrayAccess()
434 new MemoryAccess(Stmt, LI, MemoryAccess::READ, SAI->getBasePtr(), in makeReadArrayAccess()
/llvm-project-15.0.7/polly/lib/Exchange/
H A DJSONExporter.cpp105 for (auto &SAI : S.arrays()) { in exportArrays() local
106 if (!SAI->isArrayKind()) in exportArrays()
111 Array["name"] = SAI->getName(); in exportArrays()
113 if (!SAI->getDimensionSize(i)) { in exportArrays()
117 for (; i < SAI->getNumberOfDimensions(); i++) { in exportArrays()
123 SAI->getElementType()->print(RawStringOstream); in exportArrays()
431 if (!SAI || SAI->getElementType() != OutSAI->getElementType()) { in importAccesses()
440 NewOutId = SAI->getBasePtrId().release(); in importAccesses()
569 if (SAI->getName() != *Array.getString("name")) in areArraysEqual()
639 for (auto &SAI : S.arrays()) { in importArrays() local
[all …]
/llvm-project-15.0.7/polly/lib/Analysis/
H A DScopInfo.cpp384 return SAI; in getFromId()
551 return SAI; in getOriginalScopArrayInfo()
558 return SAI; in getLatestScopArrayInfo()
1063 if (SAI->isArrayKind() && SAI->getBasePtrOriginSAI()) { in setNewAccessRelation()
1744 if (!SAI) { in getOrCreateScopArrayInfo()
1773 return SAI; in createScopArrayInfo()
1778 return SAI; in getScopArrayInfoOrNull()
1784 return SAI; in getScopArrayInfo()
2405 return SAI; in getArrayInfoByName()
2456 assert(SAI->isPHIKind() || SAI->isExitPHIKind()); in getPHIRead()
[all …]
H A DScopBuilder.cpp3056 auto *SAI = scop->getOrCreateScopArrayInfo(Access->getOriginalBaseAddr(), in buildAccessRelations() local
3068 Access->buildAccessRelation(SAI); in buildAccessRelations()
/llvm-project-15.0.7/polly/lib/Support/
H A DVirtualInstruction.cpp39 if (const ScopArrayInfo *SAI = in create() local
41 IncomingMA = S->getPHIRead(SAI); in create()
331 const ScopArrayInfo *SAI = Acc->getScopArrayInfo(); in walkReachable() local
334 MemoryAccess *DefAcc = S->getValueDef(SAI); in walkReachable()
338 WorklistAccs.push_back(S->getValueDef(SAI)); in walkReachable()
342 auto IncomingMAs = S->getPHIIncomings(SAI); in walkReachable()
/llvm-project-15.0.7/polly/lib/CodeGen/
H A DIslExprBuilder.cpp251 const ScopArrayInfo *SAI = nullptr; in createAccessAddress() local
257 SAI = (*IDToSAI)[BaseId]; in createAccessAddress()
259 if (!SAI) in createAccessAddress()
260 SAI = ScopArrayInfo::getFromId(isl::manage(BaseId)); in createAccessAddress()
264 assert(SAI && "No ScopArrayInfo found for this isl_id."); in createAccessAddress()
266 Base = SAI->getBasePtr(); in createAccessAddress()
274 auto PointerTy = PointerType::get(SAI->getElementType(), in createAccessAddress()
285 return {Base, SAI->getElementType()}; in createAccessAddress()
315 const SCEV *DimSCEV = SAI->getDimensionSize(u); in createAccessAddress()
337 Access = Builder.CreateGEP(SAI->getElementType(), Base, IndexOp, in createAccessAddress()
[all …]
H A DIslNodeBuilder.cpp1293 auto *SAI = MA->getScopArrayInfo(); in preloadInvariantEquivClass() local
1307 const SCEV *Dim = SAI->getDimensionSize(i); in preloadInvariantEquivClass()
1391 for (auto &SAI : S.arrays()) { in allocateNewArrays() local
1392 if (SAI->getBasePtr()) in allocateNewArrays()
1395 assert(SAI->getNumberOfDimensions() > 0 && SAI->getDimensionSize(0) && in allocateNewArrays()
1404 auto *DimSize = SAI->getDimensionSize(i); in allocateNewArrays()
1410 NewArrayType = SAI->getElementType(); in allocateNewArrays()
1416 if (SAI->isOnHeap()) { in allocateNewArrays()
1431 SAI->getName()); in allocateNewArrays()
1433 SAI->setBasePtr(CreatedArray); in allocateNewArrays()
[all …]
H A DPPCGCodeGeneration.cpp188 for (User *U : SAI->getBasePtr()->users()) { in isScalarUsesContainedInScop()
210 for (ScopArrayInfo *SAI : S.arrays()) { in computeMustKillsInfo()
211 if (SAI->isPHIKind() || in computeMustKillsInfo()
212 (SAI->isValueKind() && isScalarUsesContainedInScop(S, SAI))) in computeMustKillsInfo()
1509 for (auto &SAI : S.arrays()) in getReferencesInKernel() local
2029 Type *EleTy = SAI->getElementType(); in createKernelFunctionDecl()
2167 if (SAI->getNumberOfDimensions() > 0) { in prepareKernelArguments()
2200 if (SAI->getNumberOfDimensions() > 0) { in finalizeKernelArguments()
2262 const ScopArrayInfo *SAI; in createKernelVariables() local
2277 SAI = in createKernelVariables()
[all …]
H A DBlockGenerators.cpp942 for (auto &SAI : S.arrays()) { in createExitPHINodeMerges() local
943 auto *Val = SAI->getBasePtr(); in createExitPHINodeMerges()
949 if (!SAI->isExitPHIKind()) in createExitPHINodeMerges()
960 Value *ScalarAddr = getOrCreateAlloca(SAI); in createExitPHINodeMerges()
961 Value *Reload = Builder.CreateLoad(SAI->getElementType(), ScalarAddr, in createExitPHINodeMerges()
/llvm-project-15.0.7/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/
H A DRuntimeDyldMachOI386.h167 section_iterator SAI = getSectionByAddress(Obj, AddrA); in processSECTDIFFRelocation() local
168 assert(SAI != Obj.section_end() && "Can't find section for address A"); in processSECTDIFFRelocation()
169 uint64_t SectionABase = SAI->getAddress(); in processSECTDIFFRelocation()
171 SectionRef SectionA = *SAI; in processSECTDIFFRelocation()
H A DRuntimeDyldMachOARM.h378 section_iterator SAI = getSectionByAddress(MachO, AddrA); in processHALFSECTDIFFRelocation() local
379 assert(SAI != MachO.section_end() && "Can't find section for address A"); in processHALFSECTDIFFRelocation()
380 uint64_t SectionABase = SAI->getAddress(); in processHALFSECTDIFFRelocation()
382 SectionRef SectionA = *SAI; in processHALFSECTDIFFRelocation()
/llvm-project-15.0.7/polly/test/MaximalStaticExpansion/
H A Dworking_phi_expansion.ll28 ; Check that the SAI are created except the expanded SAI of tmp_04.
H A Dworking_phi_two_scalars.ll31 ; Check that the SAI are created except the expanded SAI of tmp_05 and tmp2_06.
H A Dworking_expansion.ll23 ; Check if the expanded SAI are created
H A Dworking_value_expansion.ll23 ; Check if the expanded SAI are created
H A Dtoo_many_writes.ll30 ; Check that the SAI is not expanded
H A Dworking_expansion_multiple_instruction_per_statement.ll23 ; Check that expanded SAI are created
H A Dworking_deps_between_inners.ll28 ; Check if the expanded SAI are created
H A Dworking_expansion_multiple_dependences_per_statement.ll25 ; Check that expanded SAI are created
H A Dworking_deps_between_inners_phi.ll31 ; Check if the expanded SAI are created except for tmp_06_phi
/llvm-project-15.0.7/polly/include/polly/
H A DScopInfo.h679 void buildAccessRelation(const ScopArrayInfo *SAI);
2635 MemoryAccess *getValueDef(const ScopArrayInfo *SAI) const;
2639 ArrayRef<MemoryAccess *> getValueUses(const ScopArrayInfo *SAI) const;
2645 MemoryAccess *getPHIRead(const ScopArrayInfo *SAI) const;
2649 ArrayRef<MemoryAccess *> getPHIIncomings(const ScopArrayInfo *SAI) const;
H A DZoneAlgo.h220 isl::union_map computePerPHI(const polly::ScopArrayInfo *SAI);