Home
last modified time | relevance | path

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

12

/llvm-project-15.0.7/polly/include/polly/CodeGen/
H A DBlockGenerators.h108 void copyStmt(ScopStmt &Stmt, LoopToScevMapT &LTS,
340 void generateScalarLoads(ScopStmt &Stmt, LoopToScevMapT &LTS,
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 DIslNodeBuilder.h61 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 DZoneAlgo.h32 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 DScopBuilder.h292 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 DScopInfo.h433 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 DSimplify.h26 class ScopStmt; variable
42 llvm::SmallVector<MemoryAccess *, 32> getAccessesInOrder(ScopStmt &Stmt);
H A DDependenceInfo.h53 using StatementToIslMapTy = DenseMap<ScopStmt *, isl::map>;
/llvm-project-15.0.7/polly/include/polly/Support/
H A DVirtualInstruction.h68 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 DScopHelper.h36 class ScopStmt; variable
510 bool hasDebugCall(ScopStmt *Stmt);
/llvm-project-15.0.7/polly/lib/Transform/
H A DForwardOpTree.cpp134 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 DZoneAlgo.cpp296 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 DMatmulOptimizer.cpp319 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 DSimplify.cpp231 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 DMaximalStaticExpansion.cpp177 for (ScopStmt &Stmt : S) { in isExpandable()
H A DDeLICM.cpp792 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 DVirtualInstruction.cpp24 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 DBlockGenerators.cpp266 ScopStmt &Stmt, Loop *L, Value *Pointer, ValueMapT &BBMap, in generateLocationAccessed()
558 ScopStmt &Stmt, LoopToScevMapT &LTS, ValueMapT &BBMap, in generateScalarLoads()
583 Value *BlockGenerator::buildContainsCondition(ScopStmt &Stmt, in buildContainsCondition()
755 ScopStmt &Stmt, LoopToScevMapT &LTS, 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 DIslNodeBuilder.cpp191 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 DIslAst.cpp682 ScopStmt *AccessStmt = (ScopStmt *)CallExprId.get_user(); in cbPrintUser()
H A DPPCGCodeGeneration.cpp297 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 DScopInfo.cpp1151 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 DScopBuilder.cpp2294 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 DDependenceInfo.cpp127 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 DJSONExporter.cpp152 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 Dremove-dead-instructions-in-stmt.ll8 ; branch instruction of the ScopStmt. At some point, our dead-code-elimination

12