HomeSort by: relevance | last modified time | path
    Searched refs:Loop (Results 1 - 25 of 343) sorted by relevancy

1 2 3 4 5 6 7 8 91011>>

  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
VPlanHCFGBuilder.h 19 /// to easily add more nodes before/after the main vector loop (such as the
33 class Loop;
41 // The outermost loop of the input loop nest considered for vectorization.
42 Loop *TheLoop;
44 // Loop Info analysis.
63 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P)
  /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
LoopPeel.h 9 // This file defines some loop peeling utilities. It does not define any
21 bool canPeel(Loop *L);
23 bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE,
27 gatherPeelingPreferences(Loop *L, ScalarEvolution &SE,
33 void computePeelCount(Loop *L, unsigned LoopSize,
LoopUtils.h 1 //===- llvm/Transforms/Utils/LoopUtils.h - Loop utilities -------*- C++ -*-===//
9 // This file defines some loop transformation utilities.
32 class Loop;
57 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI,
60 /// Ensure that all exit blocks of the loop are dedicated exits.
62 /// For any loop exit block with non-loop predecessors, we split the loop
63 /// predecessors to use a dedicated loop exit block. We update the dominator
64 /// tree and loop info if provided, and will preserve LCSSA if requested
    [all...]
LoopRotationUtils.h 1 //===- LoopRotationUtils.h - Utilities to perform loop rotation -*- C++ -*-===//
9 // This file provides utilities to convert a loop into a loop with bottom test.
20 class Loop;
27 /// Convert a loop into a loop with bottom test. It may
28 /// perform loop latch simplication as well if the flag RotationOnly
29 /// is false. The flag Threshold represents the size threshold of the loop
30 /// header. If the loop header's size exceeds the threshold, the loop rotatio
    [all...]
LoopVersioning.h 1 //===- LoopVersioning.h - Utility to version a loop -------------*- C++ -*-===//
9 // This file defines a utility class to perform loop versioning. The versioned
10 // loop speculates that otherwise may-aliasing memory accesses don't overlap and
25 class Loop;
35 /// This class emits a version of the loop where run-time checks ensure
38 /// It currently only supports single-exit loops and assumes that the loop
42 /// Expects LoopAccessInfo, Loop, LoopInfo, DominatorTree as input.
47 ArrayRef<RuntimePointerCheck> Checks, Loop *L, LoopInfo *LI,
50 /// Performs the CFG manipulation part of versioning the loop including
53 /// The loop that was used to construct the class will be the "versioned" loo
    [all...]
UnrollLoop.h 9 // This file defines some loop unrolling utilities. It does not define any
10 // actual pass or policy, but provides a single function to perform loop
29 class Loop;
38 using NewLoopsMap = SmallDenseMap<const Loop *, Loop *, 4>;
42 const char *const LLVMLoopUnrollFollowupAll = "llvm.loop.unroll.followup_all";
44 "llvm.loop.unroll.followup_unrolled";
46 "llvm.loop.unroll.followup_remainder";
49 const Loop* addClonedBlockToLoopInfo(BasicBlock *OriginalBB,
55 /// The loop was not modified
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
LoopNestAnalysis.h 10 /// This file defines the interface for the loop nest analysis.
23 using LoopVectorTy = SmallVector<Loop *, 8>;
26 /// This class represents a loop nest and can be used to query its properties.
29 /// Construct a loop nest rooted by loop \p Root.
30 LoopNest(Loop &Root, ScalarEvolution &SE);
36 static std::unique_ptr<LoopNest> getLoopNest(Loop &Root, ScalarEvolution &SE);
49 static bool arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop,
52 /// Return the maximum nesting depth of the loop nest rooted by loop \p Root
    [all...]
LoopCacheAnalysis.h 10 /// This file defines the interface for the loop cache analysis.
32 using LoopVectorTy = SmallVector<Loop *, 8>;
36 /// 3-dim loop nest:
78 /// the given loop \p L. Return false if the distance is not smaller than \p
81 unsigned MaxDistance, const Loop &L,
84 /// Compute the cost of the reference w.r.t. the given loop \p L when it is
85 /// considered in the innermost position in the loop nest.
87 /// - equal to one if the reference is loop invariant, or
90 /// + the coefficient of this loop's index variable used in all other
93 CacheCostTy computeRefCost(const Loop &L, unsigned CLS) const
    [all...]
LoopPass.h 9 // This file defines LoopPass class. All loop optimization
32 /// 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
49 // loop nest is completely different.
72 bool skipLoop(const Loop *L) const;
88 StringRef getPassName() const override { return "Loop Pass Manager"; }
107 // Add a new loop into the loop queue
    [all...]
LoopAnalysisManager.h 1 //===- LoopAnalysisManager.h - Loop analysis management ---------*- C++ -*-===//
10 /// This header provides classes for managing per-loop analyses. These are
11 /// typically used as part of a loop pass pipeline over the loop nests of
14 /// Loop analyses are allowed to make some simplifying assumptions:
23 /// The primary mechanism to provide these invariants is the loop pass manager,
24 /// but they can also be manually provided in order to reason about a loop from
41 class Loop;
48 /// The adaptor from a function pass to a loop pass computes these analyses and
49 /// makes them available to the loop passes "for free". Each loop pass i
    [all...]
DivergenceAnalysis.h 28 class Loop;
39 /// \brief This instance will analyze the whole function \p F or the loop \p
46 DivergenceAnalysisImpl(const Function &F, const Loop *RegionLoop,
50 /// \brief The loop that defines the analyzed region (if any).
51 const Loop *getRegionLoop() const { return RegionLoop; }
94 /// is a divergent loop exit of \p DivLoop. Mark those instructions as
97 const Loop &DivLoop);
101 const Loop &OuterDivLoop);
106 const Loop &OuterDivLoop);
126 const Loop *RegionLoop
    [all...]
ScalarEvolutionNormalization.h 20 // While the expression for most uses of i inside the loop is {0,+,1}<%L>, the
21 // expression for the use of i outside the loop is {1,+,1}<%L>, since i is
22 // incremented at the end of the loop body. This is inconveient, since it
25 // the same induction variable, with uses inside the loop using the
26 // "pre-incremented" value, and uses after the loop using the
43 class Loop;
48 typedef SmallPtrSet<const Loop *, 2> PostIncLoopSet;
  /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/
IndVarSimplify.h 22 class Loop;
31 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
LoopIdiomRecognize.h 1 //===- LoopIdiomRecognize.h - Loop Idiom Recognize Pass ---------*- C++ -*-===//
10 // non-loop form. In cases that this kicks in, it can be a significant
23 class Loop;
26 /// Options to disable Loop Idiom Recognize, which can be shared with other
39 /// Performs Loop Idiom Recognize Pass.
42 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
LoopInstSimplify.h 1 //===- LoopInstSimplify.h - Loop Inst Simplify Pass -------------*- C++ -*-===//
9 // This pass performs lightweight instruction simplification on loop bodies.
21 class Loop;
24 /// Performs Loop Inst Simplify Pass.
27 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
LoopStrengthReduce.h 1 //===- LoopStrengthReduce.h - Loop Strength Reduce Pass ---------*- C++ -*-===//
14 // have as one or more of their components the loop induction variable, it
17 // related to loop induction variables.
29 class Loop;
32 /// Performs Loop Strength Reduce Pass.
35 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
LoopPredication.h 1 //===- LoopPredication.h - Guard based loop predication pass ----*- C++ -*-===//
9 // This pass tries to convert loop variant range checks to loop invariant by
10 // widening checks across loop iterations.
23 /// Performs Loop Predication Pass.
26 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
LoopSimplifyCFG.h 1 //===- LoopSimplifyCFG.cpp - Loop CFG Simplification Pass -------*- C++ -*-===//
9 // This file implements the Loop SimplifyCFG Pass. This pass is responsible for
10 // basic loop CFG cleanup, primarily to assist other loop passes. If you
11 // encounter a noncanonical CFG construct that causes another loop pass to
25 /// Performs basic CFG simplifications to assist other loop passes.
28 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
LoopVersioningLICM.h 1 //===- LoopVersioningLICM.h - LICM Loop Versioning ------------------------===//
19 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
  /src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
HexagonVectorLoopCarriedReuse.h 11 // to identify loop carried dependences. This is scalar replacement for vector
15 // Motivation: Consider the case where we have the following loop structure.
17 // Loop:
26 // cond_branch <Loop>
32 // Loop:
39 // cond_branch <Loop>
42 // Such a loop comes to this pass in the following form.
46 // Loop:
47 // X2 = PHI<(X0, LoopPreheader), (X1, Loop)>
55 // cond_branch <Loop>
    [all...]
HexagonLoopIdiomRecognition.h 19 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
  /src/external/apache2/llvm/dist/llvm/tools/llvm-exegesis/lib/
SnippetRepetitor.cpp 55 // Loop over the snippet ceil(MinInstructions / Instructions.Size()) times.
61 auto Loop = Filler.addBasicBlock();
64 // Set loop counter to the right value:
71 // Set up the loop basic block.
72 Entry.MBB->addSuccessor(Loop.MBB, BranchProbability::getOne());
73 Loop.MBB->addSuccessor(Loop.MBB, BranchProbability::getOne());
74 // The live ins are: the loop counter, the registers that were setup by
76 Loop.MBB->addLiveIn(LoopCounter);
78 Loop.MBB->addLiveIn(Reg)
    [all...]
  /src/usr.sbin/mopd/common/
device.h 40 /* from loop-bsd.c */
41 __dead void Loop(void);
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
MachineLoopUtils.cpp 28 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->getIterator(), NewBB)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
LoopAnalysisManager.cpp 1 //===- LoopAnalysisManager.cpp - Loop analysis management -----------------===//
25 template class AllAnalysesOn<Loop>;
26 template class AnalysisManager<Loop, LoopStandardAnalysisResults &>;
28 template class OuterAnalysisManagerProxy<FunctionAnalysisManager, Loop,
39 SmallVector<Loop *, 4> PreOrderLoops = LI->getLoopsInReverseSiblingPreorder();
41 // If this proxy or the loop info is going to be invalidated, we also need
43 // away the loop analyses if any of the standard analyses provided by the
44 // loop pass manager go away so that loop analyses can freely use these
47 // loop analyses declare any dependencies on these and use the more genera
    [all...]

Completed in 35 milliseconds

1 2 3 4 5 6 7 8 91011>>