/third_party/node/deps/v8/src/compiler/ |
H A D | loop-analysis.h | 44 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 D | LoopUtils.h | 1 //===- 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 D | UnrollLoop.h | 30 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 D | MachineLoopUtils.cpp | 28 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 D | LoopInfo.cpp | 1 //===- 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 D | BlockFrequencyInfoImpl.cpp | 353 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 D | LoopPassManager.h | 1 //===- 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 D | loop_descriptor.h | 40 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 D | loop_descriptor.cpp | 39 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 D | loop_fusion.h | 33 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 D | loop_utils.h | 34 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 D | loop_peeling.h | 79 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 D | loop_descriptor.h | 40 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 D | loop_descriptor.cpp | 39 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 D | loop_fusion.h | 33 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 D | loop_utils.h | 34 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 D | loop_descriptor.h | 40 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 D | loop_descriptor.cpp | 36 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 D | loop_fusion.h | 33 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 D | loop_utils.h | 34 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 D | ScalarEvolution.h | 550 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 D | LoopPass.h | 33 /// 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 D | DependenceAnalysis.h | 49 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 D | LoopCacheAnalysis.h | 31 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 D | BlockFrequencyInfoImpl.h | 53 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...] |