| /llvm-project-15.0.7/polly/lib/Transform/ |
| H A D | MaximalStaticExpansion.cpp | 113 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 D | DeLICM.cpp | 557 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 D | ZoneAlgo.cpp | 536 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 D | ForwardOpTree.cpp | 319 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 D | JSONExporter.cpp | 105 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 D | ScopInfo.cpp | 384 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 D | ScopBuilder.cpp | 3056 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 D | VirtualInstruction.cpp | 39 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 D | IslExprBuilder.cpp | 251 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 D | IslNodeBuilder.cpp | 1293 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 D | PPCGCodeGeneration.cpp | 188 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 D | BlockGenerators.cpp | 942 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 D | RuntimeDyldMachOI386.h | 167 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 D | RuntimeDyldMachOARM.h | 378 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 D | working_phi_expansion.ll | 28 ; Check that the SAI are created except the expanded SAI of tmp_04.
|
| H A D | working_phi_two_scalars.ll | 31 ; Check that the SAI are created except the expanded SAI of tmp_05 and tmp2_06.
|
| H A D | working_expansion.ll | 23 ; Check if the expanded SAI are created
|
| H A D | working_value_expansion.ll | 23 ; Check if the expanded SAI are created
|
| H A D | too_many_writes.ll | 30 ; Check that the SAI is not expanded
|
| H A D | working_expansion_multiple_instruction_per_statement.ll | 23 ; Check that expanded SAI are created
|
| H A D | working_deps_between_inners.ll | 28 ; Check if the expanded SAI are created
|
| H A D | working_expansion_multiple_dependences_per_statement.ll | 25 ; Check that expanded SAI are created
|
| H A D | working_deps_between_inners_phi.ll | 31 ; Check if the expanded SAI are created except for tmp_06_phi
|
| /llvm-project-15.0.7/polly/include/polly/ |
| H A D | ScopInfo.h | 679 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 D | ZoneAlgo.h | 220 isl::union_map computePerPHI(const polly::ScopArrayInfo *SAI);
|