Home
last modified time | relevance | path

Searched refs:Loop (Results 1 - 25 of 565) sorted by relevance

12345678910>>...23

/third_party/node/deps/v8/src/compiler/
H A Dloop-analysis.h44 class Loop { class in v8::internal::compiler::LoopTree
46 Loop* parent() const { return parent_; } in parent()
47 const ZoneVector<Loop*>& children() const { return children_; } in children()
58 explicit Loop(Zone* zone) in Loop() function in v8::internal::compiler::LoopTree::Loop
66 Loop* parent_;
68 ZoneVector<Loop*> children_;
76 Loop* ContainingLoop(Node* node) { in ContainingLoop()
84 bool Contains(const Loop* loop, Node* node) { in Contains()
85 for (Loop* c = ContainingLoop(node); c != nullptr; c = c->parent_) { in Contains()
92 const ZoneVector<Loop*>
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h1 //===- llvm/Transforms/Utils/LoopUtils.h - Loop utilities -------*- C++ -*-===//
41 class Loop;
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,
118 /// DataLayout, TargetLibraryInfo, Loop, AliasSet information for all
122 TargetLibraryInfo *, TargetTransformInfo *, Loop *,
131 /// TargetLibraryInfo, Loop, AliasSet information for all instructions of the
135 TargetLibraryInfo *, Loop *, AliasSetTracke
[all...]
H A DUnrollLoop.h30 class Loop;
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 *
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
H A DMachineLoopUtils.cpp28 MachineBasicBlock *Loop, in PeelSingleBlockLoop()
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 in PeelSingleBlockLoop()
27 PeelSingleBlockLoop(LoopPeelDirection Direction, MachineBasicBlock *Loop, MachineRegisterInfo &MRI, const TargetInstrInfo *TII) PeelSingleBlockLoop() argument
135 isRegLiveInExitBlocks(MachineLoop *Loop, int PhysReg) isRegLiveInExitBlocks() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
H A DLoopInfo.cpp1 //===- LoopInfo.cpp - Natural Loop Calculator -----------------------------===//
45 template class llvm::LoopBase<BasicBlock, Loop>;
46 template class llvm::LoopInfoBase<BasicBlock, Loop>;
59 // Loop implementation
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,
79 bool Loop::makeLoopInvariant(Instruction *I, bool &Changed,
122 bool Loop::getIncomingAndBackEdge(BasicBlock *&Incoming,
129 assert(PI != pred_end(H) && "Loop mus
[all...]
H A DBlockFrequencyInfoImpl.cpp353 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist()
355 for (const auto &I : Loop.Exits) in addLoopSuccessorsToDist()
356 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
365 void BlockFrequencyInfoImplBase::computeLoopScale(LoopData &Loop) { in computeLoopScale() argument
367 LLVM_DEBUG(dbgs() << "compute-loop-scale: " << getLoopName(Loop) << "\n"); in computeLoopScale()
383 for (auto &Mass : Loop.BackedgeMass) in computeLoopScale()
390 Loop.Scale = in computeLoopScale()
396 << " - scale = " << Loop.Scale << "\n"); in computeLoopScale()
400 void BlockFrequencyInfoImplBase::packageLoop(LoopData &Loop) { in packageLoop() argument
401 LLVM_DEBUG(dbgs() << "packaging-loop: " << getLoopName(Loop) << "\ in packageLoop()
352 addLoopSuccessorsToDist( const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) addLoopSuccessorsToDist() argument
499 unwrapLoop(BlockFrequencyInfoImplBase &BFI, LoopData &Loop) unwrapLoop() argument
762 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), createIrreducibleLoop() local
805 adjustLoopHeaderMass(LoopData &Loop) adjustLoopHeaderMass() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Scalar/
H A DLoopPassManager.h1 //===- LoopPassManager.h - Loop pass management -----------------*- C++ -*-===//
17 /// 3) A collection of Loop-specific analysis results are available:
23 /// 5) Loop passes run over each loop in the loop nest from the innermost to
66 PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
67 LPMUpdater &>::run(Loop &InitialL, LoopAnalysisManager &AM,
70 extern template class PassManager<Loop, LoopAnalysisManager,
73 /// The Loop pass manager.
76 /// a sequence of Loop passes over each Loop that the manager is run over. This
78 typedef PassManager<Loop, LoopAnalysisManage
[all...]
/third_party/skia/third_party/externals/spirv-tools/source/opt/
H A Dloop_descriptor.h40 class Loop { class
42 using ChildrenList = std::vector<Loop*>;
49 explicit Loop(IRContext* context) in Loop() function in spvtools::opt::Loop
59 Loop(IRContext* context, DominatorAnalysis* analysis, BasicBlock* header,
151 // Returns true if the loop is in a Loop Closed SSA form.
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* loo in AddBasicBlock()
[all...]
H A 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
[all...]
H A 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_;
H A Dloop_utils.h34 void Analyze(const Loop& loop);
66 LoopUtils(IRContext* context, Loop* loop) in LoopUtils()
111 // |Loop::ComputeLoopStructuredOrder|. If the preheader and merge block are in
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_loo
[all...]
H A Dloop_peeling.h79 LoopPeeling(Loop* loop, Instruction* loop_iteration_count, in LoopPeeling()
158 Loop* GetClonedLoop() { return cloned_loop_; } in GetClonedLoop()
160 Loop* GetOriginalLoop() { return loop_; } in GetOriginalLoop()
166 Loop* loop_;
172 Loop* cloned_loop_;
181 // Map between loop iterators and exit values. Loop iterators
205 const Loop* loop, Instruction* iterator,
226 BasicBlock* ProtectLoop(Loop* loop, Instruction* condition,
245 std::vector<std::tuple<const Loop*, PeelDirection, uint32_t>> peeled_loops_;
280 LoopPeelingInfo(Loop* loo
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/opt/
H A Dloop_descriptor.h40 class Loop { class
42 using ChildrenList = std::vector<Loop*>;
49 explicit Loop(IRContext* context) in Loop() function in spvtools::opt::Loop
59 Loop(IRContext* context, DominatorAnalysis* analysis, BasicBlock* header,
151 // Returns true if the loop is in a Loop Closed SSA form.
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* loo in AddBasicBlock()
[all...]
H A 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
[all...]
H A 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_;
H A Dloop_utils.h34 void Analyze(const Loop& loop);
66 LoopUtils(IRContext* context, Loop* loop) in LoopUtils()
111 // |Loop::ComputeLoopStructuredOrder|. If the preheader and merge block are in
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_loo
[all...]
/third_party/spirv-tools/source/opt/
H A Dloop_descriptor.h40 class Loop { class
42 using ChildrenList = std::vector<Loop*>;
49 explicit Loop(IRContext* context) in Loop() function in spvtools::opt::Loop
59 Loop(IRContext* context, DominatorAnalysis* analysis, BasicBlock* header,
151 // Returns true if the loop is in a Loop Closed SSA form.
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* loo in AddBasicBlock()
[all...]
H A Dloop_descriptor.cpp36 Instruction* Loop::GetInductionStepOperation( in GetInductionStepOperation()
85 bool Loop::IsSupportedStepOp(spv::Op step) const { in IsSupportedStepOp()
95 bool Loop::IsSupportedCondition(spv::Op condition) const { in IsSupportedCondition()
117 int64_t Loop::GetResidualConditionValue(spv::Op condition, in GetResidualConditionValue()
146 Instruction* Loop::GetConditionInst() const { in GetConditionInst()
168 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue()
204 Loop::Loop(IRContext* context, DominatorAnalysis* dom_analysis, in Loop() function in spvtools::opt::Loop
220 BasicBlock* Loop::FindLoopPreheader(DominatorAnalysis* dom_analysis) { in FindLoopPreheader()
259 bool Loop
[all...]
H A 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_;
H A Dloop_utils.h34 void Analyze(const Loop& loop);
66 LoopUtils(IRContext* context, Loop* loop) in LoopUtils()
111 // |Loop::ComputeLoopStructuredOrder|. If the preheader and merge block are in
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_loo
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
H A 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) { in getAddRecExpr()
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 *
[all...]
H A DLoopPass.h33 /// to a Loop.
38 // whatever action is necessary for the specified Loop.
39 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
45 virtual bool doInitialization(Loop *L, LPPassManager &LPM) { in doInitialization()
49 // Finalization hook does not supply Loop because at this time
79 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {} in cloneBasicBlockAnalysis()
82 virtual void deleteAnalysisValue(Value *V, Loop *L) {} in deleteAnalysisValue()
84 /// Delete analysis info associated with Loop L.
87 virtual void deleteAnalysisLoop(Loop *L) {} in deleteAnalysisLoop()
93 bool skipLoop(const Loop *
[all...]
H A DDependenceAnalysis.h49 class Loop;
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 *LoopNes
[all...]
H A 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
[all...]
H A DBlockFrequencyInfoImpl.h53 class Loop;
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 in getContainingLoop()
1096 const LoopT *Loop = Q.front().first; initializeLoops() local
1122 const LoopT *Loop = LI->getLoopFor(RPOT[Index]); initializeLoops() local
1154 computeMassInLoop(LoopData &Loop) computeMassInLoop() argument
[all...]

Completed in 24 milliseconds

12345678910>>...23