Home
last modified time | relevance | path

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

12345678910>>...24

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Utils/
DLoopUtils.h41 class Loop; variable
53 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI,
61 bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI,
91 bool formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE);
102 bool formLCSSARecursively(Loop &L, DominatorTree &DT, LoopInfo *LI,
122 TargetLibraryInfo *, TargetTransformInfo *, Loop *,
135 TargetLibraryInfo *, Loop *, AliasSetTracker *,
150 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE,
165 Loop *, AliasSetTracker *, MemorySSAUpdater *, ICFLoopSafetyInfo *,
171 const Loop *CurLoop);
[all …]
DUnrollLoop.h30 class Loop; variable
37 using NewLoopsMap = SmallDenseMap<const Loop *, Loop *, 4>;
48 const Loop* addClonedBlockToLoopInfo(BasicBlock *OriginalBB,
81 LoopUnrollResult UnrollLoop(Loop *L, UnrollLoopOptions ULO, LoopInfo *LI,
84 bool PreserveLCSSA, Loop **RemainderLoop = nullptr);
86 bool UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
92 Loop **ResultLoop = nullptr);
94 void computePeelCount(Loop *L, unsigned LoopSize,
98 bool canPeel(Loop *L);
100 bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE,
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/opt/
Dloop_descriptor.h40 class Loop {
42 using ChildrenList = std::vector<Loop*>;
49 explicit Loop(IRContext* context) in Loop() function
59 Loop(IRContext* context, DominatorAnalysis* analysis, BasicBlock* header,
160 for (const Loop* loop = GetParent(); loop; loop = loop->GetParent()) lvl++; in GetDepth()
169 inline void AddNestedLoop(Loop* nested) { in AddNestedLoop()
175 inline Loop* GetParent() { return parent_; } in GetParent()
176 inline const Loop* GetParent() const { return parent_; } in GetParent()
208 for (Loop* loop = this; loop != nullptr; loop = loop->parent_) { in AddBasicBlock()
217 for (Loop* loop = this; loop != nullptr; loop = loop->parent_) { in RemoveBasicBlock()
[all …]
Dloop_descriptor.cpp39 Instruction* Loop::GetInductionStepOperation( in GetInductionStepOperation()
88 bool Loop::IsSupportedStepOp(SpvOp step) const { in IsSupportedStepOp()
98 bool Loop::IsSupportedCondition(SpvOp condition) const { in IsSupportedCondition()
120 int64_t Loop::GetResidualConditionValue(SpvOp condition, int64_t initial_value, in GetResidualConditionValue()
148 Instruction* Loop::GetConditionInst() const { in GetConditionInst()
170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue()
206 Loop::Loop(IRContext* context, DominatorAnalysis* dom_analysis, in Loop() function in spvtools::opt::Loop
222 BasicBlock* Loop::FindLoopPreheader(DominatorAnalysis* dom_analysis) { in FindLoopPreheader()
261 bool Loop::IsInsideLoop(Instruction* inst) const { in IsInsideLoop()
267 bool Loop::IsBasicBlockInLoopSlow(const BasicBlock* bb) { in IsBasicBlockInLoopSlow()
[all …]
Dloop_utils.h34 void Analyze(const Loop& loop);
66 LoopUtils(IRContext* context, Loop* loop) in LoopUtils()
117 Loop* CloneLoop(LoopCloningResult* cloning_result,
121 Loop* CloneLoop(LoopCloningResult* cloning_result) const;
124 Loop* CloneAndAttachLoopToHeader(LoopCloningResult* cloning_result);
160 Loop* GetLoop() const { return loop_; } in GetLoop()
167 Loop* loop_;
171 void PopulateLoopNest(Loop* new_loop,
175 void PopulateLoopDesc(Loop* new_loop, Loop* old_loop,
Dloop_fusion.h33 LoopFusion(IRContext* context, Loop* loop_0, Loop* loop_1) in LoopFusion()
74 bool UsedInContinueOrConditionBlock(Instruction* instruction, Loop* loop);
79 std::vector<Instruction*>* instructions, Loop* loop);
82 bool IsUsedInLoop(Instruction* instruction, Loop* loop);
85 bool ContainsBarriersOrFunctionCalls(Loop* loop);
90 GetLoadsAndStoresInLoop(Loop* loop);
100 Loop* loop_0_;
101 Loop* loop_1_;
/third_party/skia/third_party/externals/spirv-tools/source/opt/
Dloop_descriptor.h40 class Loop {
42 using ChildrenList = std::vector<Loop*>;
49 explicit Loop(IRContext* context) in Loop() function
59 Loop(IRContext* context, DominatorAnalysis* analysis, BasicBlock* header,
160 for (const Loop* loop = GetParent(); loop; loop = loop->GetParent()) lvl++; in GetDepth()
169 inline void AddNestedLoop(Loop* nested) { in AddNestedLoop()
175 inline Loop* GetParent() { return parent_; } in GetParent()
176 inline const Loop* GetParent() const { return parent_; } in GetParent()
208 for (Loop* loop = this; loop != nullptr; loop = loop->parent_) { in AddBasicBlock()
217 for (Loop* loop = this; loop != nullptr; loop = loop->parent_) { in RemoveBasicBlock()
[all …]
Dloop_descriptor.cpp39 Instruction* Loop::GetInductionStepOperation( in GetInductionStepOperation()
88 bool Loop::IsSupportedStepOp(SpvOp step) const { in IsSupportedStepOp()
98 bool Loop::IsSupportedCondition(SpvOp condition) const { in IsSupportedCondition()
120 int64_t Loop::GetResidualConditionValue(SpvOp condition, int64_t initial_value, in GetResidualConditionValue()
148 Instruction* Loop::GetConditionInst() const { in GetConditionInst()
170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue()
206 Loop::Loop(IRContext* context, DominatorAnalysis* dom_analysis, in Loop() function in spvtools::opt::Loop
222 BasicBlock* Loop::FindLoopPreheader(DominatorAnalysis* dom_analysis) { in FindLoopPreheader()
261 bool Loop::IsInsideLoop(Instruction* inst) const { in IsInsideLoop()
267 bool Loop::IsBasicBlockInLoopSlow(const BasicBlock* bb) { in IsBasicBlockInLoopSlow()
[all …]
Dloop_utils.h34 void Analyze(const Loop& loop);
66 LoopUtils(IRContext* context, Loop* loop) in LoopUtils()
117 Loop* CloneLoop(LoopCloningResult* cloning_result,
121 Loop* CloneLoop(LoopCloningResult* cloning_result) const;
124 Loop* CloneAndAttachLoopToHeader(LoopCloningResult* cloning_result);
160 Loop* GetLoop() const { return loop_; } in GetLoop()
167 Loop* loop_;
171 void PopulateLoopNest(Loop* new_loop,
175 void PopulateLoopDesc(Loop* new_loop, Loop* old_loop,
Dloop_fusion.h33 LoopFusion(IRContext* context, Loop* loop_0, Loop* loop_1) in LoopFusion()
74 bool UsedInContinueOrConditionBlock(Instruction* instruction, Loop* loop);
79 std::vector<Instruction*>* instructions, Loop* loop);
82 bool IsUsedInLoop(Instruction* instruction, Loop* loop);
85 bool ContainsBarriersOrFunctionCalls(Loop* loop);
90 GetLoadsAndStoresInLoop(Loop* loop);
100 Loop* loop_0_;
101 Loop* loop_1_;
/third_party/spirv-tools/source/opt/
Dloop_descriptor.h40 class Loop {
42 using ChildrenList = std::vector<Loop*>;
49 explicit Loop(IRContext* context) in Loop() function
59 Loop(IRContext* context, DominatorAnalysis* analysis, BasicBlock* header,
160 for (const Loop* loop = GetParent(); loop; loop = loop->GetParent()) lvl++; in GetDepth()
169 inline void AddNestedLoop(Loop* nested) { in AddNestedLoop()
175 inline Loop* GetParent() { return parent_; } in GetParent()
176 inline const Loop* GetParent() const { return parent_; } in GetParent()
208 for (Loop* loop = this; loop != nullptr; loop = loop->parent_) { in AddBasicBlock()
217 for (Loop* loop = this; loop != nullptr; loop = loop->parent_) { in RemoveBasicBlock()
[all …]
Dloop_descriptor.cpp39 Instruction* Loop::GetInductionStepOperation( in GetInductionStepOperation()
88 bool Loop::IsSupportedStepOp(SpvOp step) const { in IsSupportedStepOp()
98 bool Loop::IsSupportedCondition(SpvOp condition) const { in IsSupportedCondition()
120 int64_t Loop::GetResidualConditionValue(SpvOp condition, int64_t initial_value, in GetResidualConditionValue()
148 Instruction* Loop::GetConditionInst() const { in GetConditionInst()
170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue()
206 Loop::Loop(IRContext* context, DominatorAnalysis* dom_analysis, in Loop() function in spvtools::opt::Loop
222 BasicBlock* Loop::FindLoopPreheader(DominatorAnalysis* dom_analysis) { in FindLoopPreheader()
261 bool Loop::IsInsideLoop(Instruction* inst) const { in IsInsideLoop()
267 bool Loop::IsBasicBlockInLoopSlow(const BasicBlock* bb) { in IsBasicBlockInLoopSlow()
[all …]
Dloop_utils.h34 void Analyze(const Loop& loop);
66 LoopUtils(IRContext* context, Loop* loop) in LoopUtils()
117 Loop* CloneLoop(LoopCloningResult* cloning_result,
121 Loop* CloneLoop(LoopCloningResult* cloning_result) const;
124 Loop* CloneAndAttachLoopToHeader(LoopCloningResult* cloning_result);
160 Loop* GetLoop() const { return loop_; } in GetLoop()
167 Loop* loop_;
171 void PopulateLoopNest(Loop* new_loop,
175 void PopulateLoopDesc(Loop* new_loop, Loop* old_loop,
Dloop_fusion.h33 LoopFusion(IRContext* context, Loop* loop_0, Loop* loop_1) in LoopFusion()
74 bool UsedInContinueOrConditionBlock(Instruction* instruction, Loop* loop);
79 std::vector<Instruction*>* instructions, Loop* loop);
82 bool IsUsedInLoop(Instruction* instruction, Loop* loop);
85 bool ContainsBarriersOrFunctionCalls(Loop* loop);
90 GetLoadsAndStoresInLoop(Loop* loop);
100 Loop* loop_0_;
101 Loop* loop_1_;
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DMachineLoopUtils.cpp28 MachineBasicBlock *Loop, in PeelSingleBlockLoop() argument
31 MachineFunction &MF = *Loop->getParent(); in PeelSingleBlockLoop()
32 MachineBasicBlock *Preheader = *Loop->pred_begin(); in PeelSingleBlockLoop()
33 if (Preheader == Loop) in PeelSingleBlockLoop()
34 Preheader = *std::next(Loop->pred_begin()); in PeelSingleBlockLoop()
35 MachineBasicBlock *Exit = *Loop->succ_begin(); in PeelSingleBlockLoop()
36 if (Exit == Loop) in PeelSingleBlockLoop()
37 Exit = *std::next(Loop->succ_begin()); in PeelSingleBlockLoop()
39 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock()); in PeelSingleBlockLoop()
41 MF.insert(Loop->getIterator(), NewBB); in PeelSingleBlockLoop()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Scalar/
DLoopPassManager.h66 PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
67 LPMUpdater &>::run(Loop &InitialL, LoopAnalysisManager &AM,
70 extern template class PassManager<Loop, LoopAnalysisManager,
78 typedef PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
86 struct RequireAnalysisPass<AnalysisT, Loop, LoopAnalysisManager,
89 RequireAnalysisPass<AnalysisT, Loop, LoopAnalysisManager,
91 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
101 RequireAnalysisPass<AnalysisT, Loop, LoopAnalysisManager,
114 SmallPriorityWorklist<Loop *, 4> &Worklist) {
117 SmallVector<Loop *, 4> PreOrderLoops, PreOrderWorklist;
[all …]
/third_party/glslang/Test/baseResults/
D100Limits.vert.out16 0:24 Loop with condition tested first
17 0:24 Loop Condition
22 0:26 Loop with condition not tested first
23 0:26 Loop Condition
28 0:28 Loop with condition tested first
32 0:29 Loop with condition tested first
33 0:29 Loop Condition
39 0:30 Loop with condition tested first
42 0:30 Loop Terminal Expression
50 0:31 Loop with condition tested first
[all …]
Dloops.frag.out13 0:58 Loop with condition tested first
14 0:58 Loop Condition
17 0:58 Loop Body
65 0:73 Loop with condition tested first
66 0:73 Loop Condition
73 0:73 Loop Body
78 0:78 Loop with condition tested first
79 0:78 Loop Condition
86 0:78 Loop Body
104 0:87 Loop with condition tested first
[all …]
DforLoop.frag.out17 0:14 Loop with condition tested first
18 0:14 Loop Condition
22 0:14 Loop Body
27 0:14 Loop Terminal Expression
44 0:21 Loop with condition tested first
45 0:21 Loop Condition
50 0:21 Loop Body
57 0:21 Loop Terminal Expression
66 0:26 Loop with condition tested first
67 0:26 Loop Condition
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DLoopInfo.cpp45 template class llvm::LoopBase<BasicBlock, Loop>;
46 template class llvm::LoopInfoBase<BasicBlock, Loop>;
62 bool Loop::isLoopInvariant(const Value *V) const { in isLoopInvariant()
68 bool Loop::hasLoopInvariantOperands(const Instruction *I) const { in hasLoopInvariantOperands()
72 bool Loop::makeLoopInvariant(Value *V, bool &Changed, Instruction *InsertPt, in makeLoopInvariant()
79 bool Loop::makeLoopInvariant(Instruction *I, bool &Changed, in makeLoopInvariant()
122 bool Loop::getIncomingAndBackEdge(BasicBlock *&Incoming, in getIncomingAndBackEdge()
148 PHINode *Loop::getCanonicalInductionVariable() const { in getCanonicalInductionVariable()
172 static ICmpInst *getLatchCmpInst(const Loop &L) { in getLatchCmpInst()
182 static Value *findFinalIVValue(const Loop &L, const PHINode &IndVar, in findFinalIVValue()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DLoopPass.h39 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
45 virtual bool doInitialization(Loop *L, LPPassManager &LPM) { in doInitialization()
79 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {} in cloneBasicBlockAnalysis()
82 virtual void deleteAnalysisValue(Value *V, Loop *L) {} in deleteAnalysisValue()
87 virtual void deleteAnalysisLoop(Loop *L) {} in deleteAnalysisLoop()
93 bool skipLoop(const Loop *L) const;
129 void addLoop(Loop &L);
132 void markLoopAsDeleted(Loop &L);
143 void cloneBasicBlockSimpleAnalysis(BasicBlock *From, BasicBlock *To, Loop *L);
147 void deleteSimpleAnalysisValue(Value *V, Loop *L);
[all …]
DDependenceAnalysis.h49 class Loop; variable
390 const Loop *AssociatedLoop;
435 const Loop *getAssociatedLoop() const;
438 void setPoint(const SCEV *X, const SCEV *Y, const Loop *CurrentLoop);
442 const SCEV *C, const Loop *CurrentLoop);
445 void setDistance(const SCEV *D, const Loop *CurrentLoop);
515 unsigned mapSrcLoop(const Loop *SrcLoop) const;
519 unsigned mapDstLoop(const Loop *DstLoop) const;
523 bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const;
540 const Loop *LoopNest,
[all …]
DScalarEvolution.h550 const SCEV *getAddRecExpr(const SCEV *Start, const SCEV *Step, const Loop *L,
553 const Loop *L, SCEV::NoWrapFlags Flags);
555 const Loop *L, SCEV::NoWrapFlags Flags) {
668 const SCEV *getSCEVAtScope(const SCEV *S, const Loop *L);
671 const SCEV *getSCEVAtScope(Value *V, const Loop *L);
676 bool isLoopEntryGuardedByCond(const Loop *L, ICmpInst::Predicate Pred,
681 bool isLoopBackedgeGuardedByCond(const Loop *L, ICmpInst::Predicate Pred,
689 unsigned getSmallConstantTripCount(const Loop *L);
698 unsigned getSmallConstantTripCount(const Loop *L, BasicBlock *ExitingBlock);
703 unsigned getSmallConstantMaxTripCount(const Loop *L);
[all …]
DLoopCacheAnalysis.h31 using LoopVectorTy = SmallVector<Loop *, 8>;
80 unsigned MaxDistance, const Loop &L,
92 CacheCostTy computeRefCost(const Loop &L, unsigned CLS) const;
99 bool isLoopInvariant(const Loop &L) const;
105 bool isConsecutive(const Loop &L, unsigned CLS) const;
113 const Loop &L) const;
117 bool isSimpleAddRecurrence(const SCEV &Subscript, const Loop &L) const;
175 using LoopTripCountTy = std::pair<const Loop *, unsigned>;
176 using LoopCacheCostTy = std::pair<const Loop *, CacheCostTy>;
194 getCacheCost(Loop &Root, LoopStandardAnalysisResults &AR, DependenceInfo &DI,
[all …]
DBlockFrequencyInfoImpl.h53 class Loop; variable
271 LoopData *Loop = nullptr; ///< The loop this block is inside. member
276 bool isLoopHeader() const { return Loop && Loop->isHeader(Node); } in isLoopHeader()
279 return isLoopHeader() && Loop->Parent && Loop->Parent->isIrreducible() && in isDoubleLoopHeader()
280 Loop->Parent->isHeader(Node); in isDoubleLoopHeader()
285 return Loop; in getContainingLoop()
287 return Loop->Parent; in getContainingLoop()
288 return Loop->Parent->Parent; in getContainingLoop()
310 if (!Loop || !Loop->IsPackaged) in getPackagedLoop()
312 auto L = Loop; in getPackagedLoop()
[all …]

12345678910>>...24