| /llvm-project-15.0.7/polly/include/polly/CodeGen/ |
| H A D | BlockGenerators.h | 108 void copyStmt(ScopStmt &Stmt, LoopToScevMapT <S, 340 void generateScalarLoads(ScopStmt &Stmt, LoopToScevMapT <S, 506 Loop *getLoopForStmt(const ScopStmt &Stmt) const; 603 bool canSyntheziseInStmt(ScopStmt &Stmt, Instruction *Inst); 708 Value *generateStrideOneLoad(ScopStmt &Stmt, LoadInst *Load, 726 Value *generateStrideZeroLoad(ScopStmt &Stmt, LoadInst *Load, 755 void copyUnaryInst(ScopStmt &Stmt, UnaryInstruction *Inst, 758 void copyBinaryInst(ScopStmt &Stmt, BinaryOperator *Inst, 771 void copyInstScalarized(ScopStmt &Stmt, Instruction *Inst, 790 void verifyNoScalarStores(ScopStmt &Stmt); [all …]
|
| H A D | IslNodeBuilder.h | 61 void addReferencesFromStmt(ScopStmt *Stmt, void *UserPtr, 336 createNewAccesses(ScopStmt *Stmt, __isl_keep isl_ast_node *Node); 371 void createSubstitutions(__isl_take isl_ast_expr *Expr, ScopStmt *Stmt, 373 void createSubstitutionsVector(__isl_take isl_ast_expr *Expr, ScopStmt *Stmt, 409 void generateCopyStmt(ScopStmt *Stmt,
|
| /llvm-project-15.0.7/polly/include/polly/ |
| H A D | ZoneAlgo.h | 32 class ScopStmt; variable 60 llvm::DenseMap<ScopStmt *, isl::map> ScalarReachDefZone; 157 llvm::DenseMap<std::pair<ScopStmt *, ScopStmt *>, isl::map> DefToTargetCache; 183 void collectIncompatibleElts(ScopStmt *Stmt, isl::union_set &IncompatibleElts, 204 isl::map computeUseToDefFlowDependency(ScopStmt *UseStmt, ScopStmt *DefStmt); 228 isl::map getScatterFor(ScopStmt *Stmt) const; 240 isl::set getDomainFor(ScopStmt *Stmt) const; 270 isl::map getDefToTarget(ScopStmt *DefStmt, ScopStmt *TargetStmt); 280 isl::map getScalarReachingDefinition(ScopStmt *Stmt); 295 isl::map makeUnknownForDomain(ScopStmt *Stmt) const; [all …]
|
| H A D | ScopBuilder.h | 292 bool buildAccessCallInst(MemAccInst Inst, ScopStmt *Stmt); 411 void buildMemoryAccess(MemAccInst Inst, ScopStmt *Stmt); 435 void buildPHIAccesses(ScopStmt *PHIStmt, PHINode *PHI, 475 void buildAccessFunctions(ScopStmt *Stmt, BasicBlock &BB, 539 void ensureValueRead(Value *V, ScopStmt *UserStmt); 555 void ensurePHIWrite(PHINode *PHI, ScopStmt *IncomintStmt, 581 void addPHIReadAccess(ScopStmt *PHIStmt, PHINode *PHI); 587 void buildDomain(ScopStmt &Stmt); 590 void collectSurroundingLoops(ScopStmt &Stmt); 603 void checkForReductions(ScopStmt &Stmt); [all …]
|
| H A D | ScopInfo.h | 433 friend class ScopStmt; variable 519 ScopStmt *Statement; 1138 class ScopStmt final { 1167 ScopStmt(const ScopStmt &) = delete; 1168 const ScopStmt &operator=(const ScopStmt &) = delete; 1169 ~ScopStmt(); 1690 using StmtSet = std::list<ScopStmt>; 1712 DenseMap<Instruction *, ScopStmt *> InstStmtMap; 1920 void removeFromStmtMap(ScopStmt &Stmt); 2332 ScopStmt *getLastStmtFor(BasicBlock *BB) const; [all …]
|
| H A D | Simplify.h | 26 class ScopStmt; variable 42 llvm::SmallVector<MemoryAccess *, 32> getAccessesInOrder(ScopStmt &Stmt);
|
| H A D | DependenceInfo.h | 53 using StatementToIslMapTy = DenseMap<ScopStmt *, isl::map>;
|
| /llvm-project-15.0.7/polly/include/polly/Support/ |
| H A D | VirtualInstruction.h | 68 ScopStmt *User; 121 static VirtualUse create(Scop *S, ScopStmt *UserStmt, Loop *UserScope, 138 ScopStmt *getUser() const { return User; } in getUser() 176 ScopStmt *User; 179 VirtualOperandIterator(ScopStmt *User, User::op_iterator U) in VirtualOperandIterator() 237 ScopStmt *Stmt = nullptr; 246 VirtualInstruction(ScopStmt *Stmt, Instruction *Inst) 271 ScopStmt *getStmt() const { return Stmt; } 310 ScopStmt *OnlyLocal = nullptr); 319 return DenseMapInfo<polly::ScopStmt *>::isEqual(LHS.getStmt(), [all …]
|
| H A D | ScopHelper.h | 36 class ScopStmt; variable 510 bool hasDebugCall(ScopStmt *Stmt);
|
| /llvm-project-15.0.7/polly/lib/Transform/ |
| H A D | ForwardOpTree.cpp | 134 using KeyTy = std::pair<Value *, ScopStmt *>; 418 MemoryAccess *makeReadArrayAccess(ScopStmt *Stmt, LoadInst *LI, in makeReadArrayAccess() 458 ScopStmt *UseStmt, Loop *UseLoop, in forwardKnownLoad() 459 ScopStmt *DefStmt, Loop *DefLoop) { in forwardKnownLoad() 666 ForwardingAction forwardSpeculatable(ScopStmt *TargetStmt, in forwardSpeculatable() 737 ScopStmt *UseStmt, Loop *UseLoop) { in forwardTreeImpl() 738 ScopStmt *DefStmt = nullptr; in forwardTreeImpl() 854 ForwardingDecision forwardTree(ScopStmt *TargetStmt, Value *UseVal, in forwardTree() 855 ScopStmt *UseStmt, Loop *UseLoop) { in forwardTree() 950 ScopStmt *Stmt = RA->getStatement(); in tryForwardTree() [all …]
|
| H A D | ZoneAlgo.cpp | 296 static bool onlySameValueWrites(ScopStmt *Stmt) { in onlySameValueWrites() 322 void ZoneAlgorithm::collectIncompatibleElts(ScopStmt *Stmt, in collectIncompatibleElts() 394 ScopStmt *Stmt = MA->getStatement(); in addArrayReadAccess() 421 ScopStmt *Stmt = MA->getStatement(); in getWrittenValue() 615 isl::map ZoneAlgorithm::getScatterFor(ScopStmt *Stmt) const { in getScatterFor() 638 isl::set ZoneAlgorithm::getDomainFor(ScopStmt *Stmt) const { in getDomainFor() 652 isl::map ZoneAlgorithm::getDefToTarget(ScopStmt *DefStmt, in getDefToTarget() 653 ScopStmt *TargetStmt) { in getDefToTarget() 1001 for (ScopStmt &Stmt : *S) { in computeNormalizedPHIs() 1023 for (ScopStmt &Stmt : *S) { in computeNormalizedPHIs() [all …]
|
| H A D | MatmulOptimizer.cpp | 319 auto *Stmt = static_cast<ScopStmt *>(InputDimId.get_user()); in containsOnlyMatrMultAcc() 404 auto *Stmt = static_cast<ScopStmt *>(InputDimsId.get_user()); in containsMatrMult() 702 ScopStmt *Stmt, isl::map MapOldIndVar, in optimizePackedB() 724 ScopStmt *CopyStmt = S->addScopStmt(AccRelB, AccRelPackedB, Domain); in optimizePackedB() 738 static isl::schedule_node optimizePackedA(isl::schedule_node Node, ScopStmt *, in optimizePackedA() argument 744 ScopStmt *Stmt = static_cast<ScopStmt *>(InputDimsId.get_user()); in optimizePackedA() 787 ScopStmt *CopyStmt = in optimizePackedA() 836 ScopStmt *Stmt = static_cast<ScopStmt *>(InputDimsId.get_user()); in optimizeDataLayoutMatrMulPattern()
|
| H A D | Simplify.cpp | 231 S->removeStmts([](ScopStmt &Stmt) -> bool { in removeEmptyDomainStmts() 585 for (ScopStmt &Stmt : *S) { in removeEmptyPartialAccesses() 624 for (ScopStmt &Stmt : *S) in markAndSweep() 632 ScopStmt *Stmt = MA->getStatement(); in markAndSweep() 640 for (ScopStmt &Stmt : *S) { in markAndSweep() 826 SmallVector<MemoryAccess *, 32> polly::getAccessesInOrder(ScopStmt &Stmt) { in getAccessesInOrder()
|
| H A D | MaximalStaticExpansion.cpp | 177 for (ScopStmt &Stmt : S) { in isExpandable()
|
| H A D | DeLICM.cpp | 792 isl::map makeValInst(Value *Val, ScopStmt *UserStmt, Loop *Scope, in makeValInst() 1041 auto ProcessAllIncoming = [&](ScopStmt *Stmt) { in collapseScalarsToStore()
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | VirtualInstruction.cpp | 24 ScopStmt *UserStmt = S->getStmtFor(UI); in create() 52 VirtualUse VirtualUse::create(Scop *S, ScopStmt *UserStmt, Loop *UserScope, in create() 200 addInstructionRoots(ScopStmt *Stmt, in addInstructionRoots() 228 static void addAccessRoots(ScopStmt *Stmt, in addAccessRoots() 257 static void addRoots(ScopStmt *Stmt, in addRoots() 281 ScopStmt *OnlyLocal = nullptr) { in walkReachable() 322 ScopStmt *Stmt = Acc->getStatement(); in walkReachable() 374 ScopStmt *Stmt = VInst.getStmt(); in walkReachable() 408 ScopStmt *OnlyLocal) { in markReachable()
|
| /llvm-project-15.0.7/polly/lib/CodeGen/ |
| H A D | BlockGenerators.cpp | 266 ScopStmt &Stmt, Loop *L, Value *Pointer, ValueMapT &BBMap, in generateLocationAccessed() 558 ScopStmt &Stmt, LoopToScevMapT <S, ValueMapT &BBMap, in generateScalarLoads() 583 Value *BlockGenerator::buildContainsCondition(ScopStmt &Stmt, in buildContainsCondition() 755 ScopStmt &Stmt, LoopToScevMapT <S, ValueMapT &BBMap, in generateScalarStores() 1072 ScopStmt &Stmt, LoadInst *Load, ValueMapT &BBMap, in generateStrideZeroLoad() 1117 ScopStmt &Stmt, LoadInst *Load, ValueMapT &VectorMap, in generateLoad() 1182 ScopStmt &Stmt, StoreInst *Store, ValueMapT &VectorMap, in copyStore() 1329 ScopStmt &Stmt, ValueMapT &VectorBlockMap) { in generateScalarVectorLoads() 1620 ScopStmt *Stmt = MA->getStatement(); in buildExitPHI() 1661 ScopStmt *Stmt = MA->getStatement(); in getExitScalar() [all …]
|
| H A D | IslNodeBuilder.cpp | 191 static void findReferencesByUse(Value *SrcVal, ScopStmt *UserStmt, in findReferencesByUse() 220 static void findReferencesInInst(Instruction *Inst, ScopStmt *UserStmt, in findReferencesInInst() 247 void polly::addReferencesFromStmt(ScopStmt *Stmt, void *UserPtr, in addReferencesFromStmt() 289 auto *Stmt = static_cast<ScopStmt *>(Id.get_user()); in addReferencesFromStmtSet() 401 ScopStmt *Stmt = (ScopStmt *)isl_id_get_user(Id); in createUserVector() 779 ScopStmt *Stmt = in hasPartialAccesses() 863 IslNodeBuilder::createNewAccesses(ScopStmt *Stmt, in createNewAccesses() 948 __isl_take isl_ast_expr *Expr, ScopStmt *Stmt, in createSubstitutionsVector() 966 ScopStmt *Stmt, __isl_keep isl_id_to_ast_expr *NewAccesses) { in generateCopyStmt() 997 ScopStmt *Stmt; in createUser() [all …]
|
| H A D | IslAst.cpp | 682 ScopStmt *AccessStmt = (ScopStmt *)CallExprId.get_user(); in cbPrintUser()
|
| H A D | PPCGCodeGeneration.cpp | 297 ScopStmt *Stmt = (ScopStmt *)StmtT; in pollyBuildAstExprForStmt() 1327 auto Stmt = (ScopStmt *)KernelStmt->u.d.stmt->stmt; in createScopStmt() 1395 auto Stmt = (ScopStmt *)KernelStmt->u.d.stmt->stmt; in collectReferencesInGPUStmt() 2793 gpu_stmt_access *getStmtAccesses(ScopStmt &Stmt) { in getStmtAccesses() 3367 __isl_give isl_ast_expr *approxDynamicInst(ScopStmt &Stmt, in approxDynamicInst() 3403 for (ScopStmt &Stmt : S) { in getNumberOfIterations()
|
| /llvm-project-15.0.7/polly/lib/Analysis/ |
| H A D | ScopInfo.cpp | 1151 void ScopStmt::realignParams() { in realignParams() 1169 ScopStmt::ScopStmt(Scop &parent, Region &R, StringRef Name, in ScopStmt() function in ScopStmt 1175 ScopStmt::ScopStmt(Scop &parent, BasicBlock &bb, StringRef Name, in ScopStmt() function in ScopStmt 1182 ScopStmt::ScopStmt(Scop &parent, isl::map SourceRel, isl::map TargetRel, in ScopStmt() function in ScopStmt 1200 ScopStmt::~ScopStmt() = default; 1519 for (ScopStmt &Stmt : *this) in realignParams() 2114 for (const ScopStmt &Stmt : *this) { in printStatements() 2195 for (const ScopStmt &Stmt : *this) in getDomains() 2211 for (ScopStmt &Stmt : *this) { in getAccessesOfType() 2274 for (ScopStmt &Stmt : *this) { in restrictDomains() [all …]
|
| H A D | ScopBuilder.cpp | 2294 for (ScopStmt &Stmt : *scop) in updateAccessDimensionality() 2339 ScopStmt *Stmt = scop->getStmtFor(Inst); in ensureValueWrite() 2450 void ScopBuilder::buildDomain(ScopStmt &Stmt) { in buildDomain() 2574 for (ScopStmt &Stmt : *scop) in verifyInvariantLoads() 2587 for (ScopStmt &Stmt : *scop) { in hoistInvariantLoads() 2920 ScopStmt *Stmt = StoreMA->getStatement(); in collectCandidateReductionLoads() 2992 for (ScopStmt &Stmt : S) in replaceBasePtrArrays() 3206 for (ScopStmt &Stmt : *scop) { in buildAliasGroupsForAccesses() 3477 ScopStmt *RILStmt = List.front(); in buildScop() 3524 for (ScopStmt &Stmt : scop->Stmts) in buildScop() [all …]
|
| H A D | DependenceInfo.cpp | 127 for (ScopStmt &Stmt : S) in collectInfo() 132 for (ScopStmt &Stmt : S) { in collectInfo() 529 for (ScopStmt &Stmt : S) { in calculateDependences() 574 for (ScopStmt &Stmt : S) { in calculateDependences() 642 auto Stmt = reinterpret_cast<ScopStmt *>( in isValidSchedule() 660 for (ScopStmt &Stmt : S) { in isValidSchedule()
|
| /llvm-project-15.0.7/polly/lib/Exchange/ |
| H A D | JSONExporter.cpp | 152 for (ScopStmt &Stmt : S) { in getJSON() 285 for (ScopStmt &Stmt : S) { in importSchedule() 328 for (ScopStmt &Stmt : S) { in importSchedule() 366 for (ScopStmt &Stmt : S) { in importAccesses()
|
| /llvm-project-15.0.7/polly/test/GPGPU/ |
| H A D | remove-dead-instructions-in-stmt.ll | 8 ; branch instruction of the ScopStmt. At some point, our dead-code-elimination
|