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

12345678910

/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopNestAnalysis.h22 using LoopVectorTy = SmallVector<Loop *, 8>;
29 LoopNest(Loop &Root, ScalarEvolution &SE);
35 static std::unique_ptr<LoopNest> getLoopNest(Loop &Root, ScalarEvolution &SE);
48 static bool arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop,
60 static unsigned getMaxPerfectDepth(const Loop &Root, ScalarEvolution &SE);
63 Loop &getOutermostLoop() const { return *Loops.front(); }
68 Loop *getInnermostLoop() const {
75 Loop *LastLoop = Loops.back();
83 Loop *getLoo
[all...]
H A DSyncDependenceAnalysis.h29 class Loop;
57 /// loop) caused by the divergent loop exits of\p Loop.
60 /// loop exits of \p Loop.
61 /// This treats the loop as a single node in \p Loop's parent loop.
63 const ConstBlockSet &join_blocks(const Loop &Loop);
73 std::map<const Loop *, std::unique_ptr<ConstBlockSet>> CachedLoopExitJoins;
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 DLoopPass.h32 /// to a Loop.
37 // whatever action is necessary for the specified Loop.
38 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
44 virtual bool doInitialization(Loop *L, LPPassManager &LPM) {
48 // Finalization hook does not supply Loop because at this time
72 bool skipLoop(const Loop *L) const;
88 StringRef getPassName() const override { return "Loop Pass Manager"; }
108 void addLoop(Loop &L);
111 void markLoopAsDeleted(Loop &L);
114 std::deque<Loop *> L
[all...]
H A DLoopAnalysisManager.h1 //===- LoopAnalysisManager.h - Loop analysis management ---------*- C++ -*-===//
14 /// Loop analyses are allowed to make some simplifying assumptions:
41 class Loop;
64 extern template class AllAnalysesOn<Loop>;
66 extern template class AnalysisManager<Loop, LoopStandardAnalysisResults &>;
73 typedef AnalysisManager<Loop, LoopStandardAnalysisResults &>
150 extern template class OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop,
152 /// A proxy from a \c FunctionAnalysisManager to a \c Loop.
153 typedef OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop,
H A DScalarEvolutionNormalization.h43 class Loop;
48 typedef SmallPtrSet<const Loop *, 2> PostIncLoopSet;
H A DDependenceAnalysis.h50 class Loop;
391 const Loop *AssociatedLoop;
436 const Loop *getAssociatedLoop() const;
439 void setPoint(const SCEV *X, const SCEV *Y, const Loop *CurrentLoop);
443 const SCEV *C, const Loop *CurrentLoop);
446 void setDistance(const SCEV *D, const Loop *CurrentLoop);
516 unsigned mapSrcLoop(const Loop *SrcLoop) const;
520 unsigned mapDstLoop(const Loop *DstLoop) const;
524 bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const;
541 const Loop *LoopNes
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h1 //===- llvm/Transforms/Utils/LoopUtils.h - Loop utilities -------*- C++ -*-===//
30 class Loop;
55 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI,
63 bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI,
93 bool formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI,
105 bool formLCSSARecursively(Loop &L, const DominatorTree &DT, const LoopInfo *LI,
121 /// TargetLibraryInfo, Loop, AliasSet information for all
125 TargetLibraryInfo *, TargetTransformInfo *, Loop *,
134 /// TargetLibraryInfo, Loop, AliasSet information for all instructions of the
138 TargetLibraryInfo *, Loop *, AliasSetTracke
[all...]
H A DUnrollLoop.h28 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,
86 Loop **RemainderLoop = nullptr);
89 Loop *L, unsigned Count, bool AllowExpensiveTripCount,
93 Loop **ResultLoop = nullptr);
95 void computePeelCount(Loop *L, unsigned LoopSize,
100 bool canPeel(Loop *
[all...]
H A DLoopRotationUtils.h20 class Loop;
33 bool LoopRotation(Loop *L, LoopInfo *LI, const TargetTransformInfo *TTI,
H A DLoopVersioning.h24 class Loop;
42 /// Expects LoopAccessInfo, Loop, LoopInfo, DominatorTree as input.
46 LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI,
72 Loop *getVersionedLoop() { return VersionedLoop; }
76 Loop *getNonVersionedLoop() { return NonVersionedLoop; }
119 Loop *VersionedLoop;
122 Loop *NonVersionedLoop;
H A DLoopSimplify.h1 //===- LoopSimplify.h - Loop Canonicalization Pass --------------*- C++ -*-===//
13 // Loop pre-header insertion guarantees that there is a single, non-critical
17 // Loop exit-block insertion guarantees that all exit blocks from the loop
47 class Loop;
64 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE,
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanHCFGBuilder.h33 class Loop;
42 Loop *TheLoop;
44 // Loop Info analysis.
63 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P)
H A DVPlanTransforms.h26 Loop *OrigLoop, VPlanPtr &Plan,
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineLoopUtils.h23 /// Peels a single block loop. Loop must have two successors, one of which
34 /// The trip count of Loop is not updated.
36 MachineBasicBlock *Loop,
42 bool isRegLiveInExitBlocks(MachineLoop *Loop, int PhysReg);
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DIndVarSimplify.h22 class Loop;
27 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
H A DLoopIdiomRecognize.h1 //===- LoopIdiomRecognize.h - Loop Idiom Recognize Pass ---------*- C++ -*-===//
23 class Loop;
26 /// Performs Loop Idiom Recognize Pass.
29 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
H A DLoopInstSimplify.h1 //===- LoopInstSimplify.h - Loop Inst Simplify Pass -------------*- C++ -*-===//
21 class Loop;
24 /// Performs Loop Inst Simplify Pass.
27 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
H A DLoopStrengthReduce.h1 //===- LoopStrengthReduce.h - Loop Strength Reduce Pass ---------*- C++ -*-===//
29 class Loop;
32 /// Performs Loop Strength Reduce Pass.
35 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
H A DLoopPredication.h23 /// Performs Loop Predication Pass.
26 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
H A DLoopSimplifyCFG.h1 //===- LoopSimplifyCFG.cpp - Loop CFG Simplification Pass -------*- C++ -*-===//
9 // This file implements the Loop SimplifyCFG Pass. This pass is responsible for
28 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
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
68 PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
69 LPMUpdater &>::run(Loop &InitialL, LoopAnalysisManager &AM,
72 extern template class PassManager<Loop, LoopAnalysisManager,
75 /// The Loop pass manager.
78 /// a sequence of Loop passes over each Loop that the manager is run over. This
80 typedef PassManager<Loop, LoopAnalysisManage
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineLoopUtils.cpp28 MachineBasicBlock *Loop,
31 MachineFunction &MF = *Loop->getParent();
32 MachineBasicBlock *Preheader = *Loop->pred_begin();
33 if (Preheader == Loop)
34 Preheader = *std::next(Loop->pred_begin());
35 MachineBasicBlock *Exit = *Loop->succ_begin();
36 if (Exit == Loop)
37 Exit = *std::next(Loop->succ_begin());
39 MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock());
41 MF.insert(Loop
27 PeelSingleBlockLoop(LoopPeelDirection Direction, MachineBasicBlock *Loop, MachineRegisterInfo &MRI, const TargetInstrInfo *TII) argument
134 isRegLiveInExitBlocks(MachineLoop *Loop, int PhysReg) argument
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopPassManager.cpp1 //===- LoopPassManager.cpp - Loop pass management -------------------------===//
18 template class PassManager<Loop, LoopAnalysisManager,
25 PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
26 LPMUpdater &>::run(Loop &L, LoopAnalysisManager &AM,
31 dbgs() << "Starting Loop pass manager run.\n";
39 if (!PI.runBeforePass<Loop>(*Pass, L))
51 // do not pass deleted Loop into the instrumentation
53 PI.runAfterPassInvalidated<Loop>(*Pass);
55 PI.runAfterPass<Loop>(*Pass, L);
92 PA.preserveSet<AllAnalysesOn<Loop>>();
[all...]
H A DIVUsersPrinter.cpp16 PreservedAnalyses IVUsersPrinterPass::run(Loop &L, LoopAnalysisManager &AM,

Completed in 96 milliseconds

12345678910