HomeSort by relevance Sort by last modified time
    Searched refs:Loop (Results 1 - 25 of 168) sorted by null

1 2 3 4 5 6 7

  /external/llvm/include/llvm/Transforms/Utils/
UnrollLoop.h 10 // This file defines some loop unrolling utilities. It does not define any
11 // actual pass or policy, but provides a single function to perform loop
21 class Loop;
26 bool UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool AllowRuntime,
30 bool UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
LoopUtils.h 1 //===- llvm/Transforms/Utils/LoopUtils.h - Loop utilities -*- C++ -*-=========//
10 // This file defines some loop transformation utilities.
22 class Loop;
27 BasicBlock *InsertPreheaderForLoop(Loop *L, Pass *P);
29 /// \brief Simplify each loop in a loop nest recursively.
31 /// This takes a potentially un-simplified loop L (and its children) and turns
32 /// it into a simplified loop nest with preheaders and single backedges. It
35 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, Pass *PP,
39 /// \brief Put loop into LCSSA form
    [all...]
SimplifyIndVar.h 12 // simplify a loop's induction variables based on ScalarEvolution.
27 class Loop;
64 /// loop. This does not actually change or add IVs.
65 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
CodeExtractor.h 25 class Loop;
72 /// \brief Create a code extractor for a loop body.
75 /// block sequence of the loop.
76 CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs = false);
  /external/llvm/include/llvm/Analysis/
LoopPass.h 10 // This file defines LoopPass class. All loop optimization
34 /// to a Loop.
39 // whatever action is necessary for the specified Loop.
40 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
46 virtual bool doInitialization(Loop *L, LPPassManager &LPM) {
50 // Finalization hook does not supply Loop because at this time
51 // loop nest is completely different.
77 /// Each loop pass can override these simple analysis hooks to update
80 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {}
83 virtual void deleteAnalysisValue(Value *V, Loop *L) {
    [all...]
ScalarEvolutionNormalization.h 21 // While the expression for most uses of i inside the loop is {0,+,1}<%L>, the
22 // expression for the use of i outside the loop is {1,+,1}<%L>, since i is
23 // incremented at the end of the loop body. This is inconveient, since it
26 // the same induction variable, with uses inside the loop using the
27 // "pre-incremented" value, and uses after the loop using the
45 class Loop;
56 /// update the given loop set, and normalize.
59 /// given loop set.
64 typedef SmallPtrSet<const Loop *, 2> PostIncLoopSet;
DependenceAnalysis.h 49 class Loop;
96 bool Splitable : 1; // Splitting the loop will break dependence.
134 /// isLoopIndependent - Returns true if this is a loop-independent
160 /// this loop will break this dependence.
164 /// this loop will break this dependence.
167 /// isSplitable - Returns true if splitting this loop will break
173 /// variable associated with the loop at this level.
228 /// isLoopIndependent - Returns true if this is a loop-independent
254 /// this loop will break this dependence.
258 /// this loop will break this dependence
    [all...]
ScalarEvolution.h 46 class Loop;
87 /// purely in terms of the recurrence's loop, step size, and
89 /// abs(step) * max-iteration(loop) <= unsigned-max(bitwidth).
158 /// iterations of a linked-list traversal loop, you will get one of these.
175 /// SCEV and a loop.
177 LoopVariant, ///< The SCEV is loop-variant (unknown).
178 LoopInvariant, ///< The SCEV is loop-invariant.
179 LoopComputable ///< The SCEV varies predictably with the loop.
224 /// LI - The loop information for the function we are currently analyzing.
256 /// ExitLimit - Information about the number of loop iterations for which
    [all...]
BlockFrequencyInfoImpl.h 146 class Loop;
204 /// \brief Data about a loop.
206 /// Contains the data necessary to represent represent a loop as a
211 LoopData *Parent; ///< The parent loop.
215 NodeList Nodes; ///< Header and the members of the loop.
216 BlockMass BackedgeMass; ///< Mass returned to loop header.
247 /// \brief Index of loop information.
250 LoopData *Loop; ///< The loop this block is inside.
253 WorkingData(const BlockNode &Node) : Node(Node), Loop(nullptr) {
    [all...]
IVUsers.h 72 /// given loop.
73 void transformToPostInc(const Loop *L);
121 Loop *L;
134 bool runOnLoop(Loop *L, LPPassManager &LPM) override;
142 Loop *getLoop() const { return L; }
158 const SCEV *getStride(const IVStrideUse &IU, const Loop *L) const;
177 bool AddUsersImpl(Instruction *I, SmallPtrSet<Loop*,16> &SimpleLoopNests);
LoopInfo.h 1 //===- llvm/Analysis/LoopInfo.h - Natural Loop Calculator -------*- C++ -*-===//
11 // and determine the loop depth of various nodes of the CFG. A natural loop
16 // each natural loop identified, this analysis identifies natural loops
17 // contained entirely within the loop and the basic blocks the make up the loop.
21 // * whether there is a preheader for the loop
23 // * whether or not a particular block branches out of the loop
24 // * the successor blocks of the loop
25 // * the loop dept
    [all...]
ScalarEvolutionExpander.h 50 /// RelevantLoops - A memoization of the "relevant" loop for a given SCEV.
51 DenseMap<const SCEV *, const Loop *> RelevantLoops;
61 /// loop it indicates should be inserted with increments at
63 const Loop *IVIncInsertLoop;
65 /// IVIncInsertPos - When expanding addrecs in the IVIncInsertLoop loop,
119 /// loop (inserting one if there is none). A canonical induction variable
121 PHINode *getOrInsertCanonicalInductionVariable(const Loop *L, Type *Ty);
132 unsigned replaceCongruentIVs(Loop *L, const DominatorTree *DT,
141 /// setIVIncInsertPos - Set the current IV increment loop and position.
142 void setIVIncInsertPos(const Loop *L, Instruction *Pos)
    [all...]
  /external/llvm/lib/Analysis/
LoopInfo.cpp 1 //===- LoopInfo.cpp - Natural Loop Calculator -----------------------------===//
11 // and determine the loop depth of various nodes of the CFG. Note that the
13 // header node... not just a single natural loop.
34 template class llvm::LoopBase<BasicBlock, Loop>;
35 template class llvm::LoopInfoBase<BasicBlock, Loop>;
44 VerifyLoopInfoX("verify-loop-info", cl::location(VerifyLoopInfo),
45 cl::desc("Verify loop info (time consuming)"));
48 INITIALIZE_PASS_BEGIN(LoopInfo, "loops", "Natural Loop Information", true, true)
50 INITIALIZE_PASS_END(LoopInfo, "loops", "Natural Loop Information", true, true)
52 // Loop identifier metadata name
    [all...]
BlockFrequencyInfoImpl.cpp 302 // If OuterLoop is an irreducible loop, we can't actually handle this.
311 // If "Pred" is a loop header, then this isn't really a backedge; rather,
313 // secondary loop headers.
324 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) {
326 for (const auto &I : Loop.Exits)
327 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first,
335 /// \brief Get the maximum allowed loop scale.
337 /// Gives the maximum number of estimated iterations allowed for a loop. Very
341 /// \brief Compute the loop scale for a loop
    [all...]
LoopPass.cpp 1 //===- LoopPass.cpp - Loop Pass and Loop Pass Manager ---------------------===//
10 // This file implements LoopPass and LPPassManager. All loop optimization
23 #define DEBUG_TYPE "loop-pass-manager"
27 /// PrintLoopPass - Print a Function corresponding to a Loop.
43 bool runOnLoop(Loop *L, LPPassManager &) override {
45 for (Loop::block_iterator b = L->block_begin(), be = L->block_end();
74 /// Delete loop from the loop queue and loop hierarchy (LoopInfo)
    [all...]
IVUsers.cpp 48 /// given loop.
49 static bool isInteresting(const SCEV *S, const Instruction *I, const Loop *L,
53 // Keep things simple. Don't touch loop-variant strides unless they're
54 // only used outside the loop and we can simplify them.
83 /// Return true if all loop headers that dominate this block are in simplified
87 SmallPtrSet<Loop*,16> &SimpleLoopNests) {
88 Loop *NearestLoop = nullptr;
92 Loop *DomLoop = LI->getLoopFor(DomBB);
94 // If the domtree walk reaches a loop with no preheader, return false.
97 // If we have already checked this loop nest, stop checking
    [all...]
  /external/chromium_org/third_party/WebKit/public/web/
WebMediaPlayerAction.h 41 Loop,
  /external/llvm/test/MC/COFF/
simple-fixups.s 18 # =>This Inner Loop Header: Depth=1
31 # =>This Inner Loop Header: Depth=1
  /system/vold/
Loop.h 21 #include <linux/loop.h>
25 class Loop {
Loop.cpp 36 #include "Loop.h"
39 int Loop::dumpState(SocketClient *c) {
48 sprintf(filename, "/dev/block/loop%d", i);
66 SLOGE("Unable to get loop status for %s (%s)", filename,
81 int Loop::lookupActive(const char *id, char *buffer, size_t len) {
92 sprintf(filename, "/dev/block/loop%d", i);
110 SLOGE("Unable to get loop status for %s (%s)", filename,
127 int Loop::create(const char *id, const char *loopFile, char *loopDeviceBuffer, size_t len) {
136 sprintf(filename, "/dev/block/loop%d", i);
139 * The kernel starts us off with 8 loop nodes, but mor
    [all...]
  /external/llvm/lib/Transforms/Scalar/
LoopUnswitch.cpp 1 //===-- LoopUnswitch.cpp - Hoist loop-invariant conditionals in loop ------===//
10 // This pass transforms loops that contain branches on loop-invariant conditions
21 // a loop is unswitched) so we only unswitch if the resultant code will be
25 // of the loop, to make the unswitching opportunity obvious.
55 #define DEBUG_TYPE "loop-unswitch"
67 Threshold("loop-unswitch-threshold", cl::desc("Max loop size to unswitch"),
86 // LoopProperties pointer for current loop for better performance.
87 typedef std::map<const Loop*, LoopProperties> LoopPropsMap
    [all...]
LoopUnrollPass.cpp 1 //===-- LoopUnroll.cpp - Loop unroller pass -------------------------------===//
10 // This pass implements a simple loop unroller. It works best when loops have
33 #define DEBUG_TYPE "loop-unroll"
37 cl::desc("The cut-off point for automatic loop unrolling"));
47 "-unroll-threshold loop size is reached."));
78 /// that the loop unroll should be performed regardless of how much
99 bool runOnLoop(Loop *L, LPPassManager &LPM) override;
101 /// This transformation requires natural loop information & requires that
102 /// loop preheaders be inserted into the CFG...
114 // FIXME: Loop unroll requires LCSSA. And LCSSA requires dom info
    [all...]
LoopDeletion.cpp 1 //===- LoopDeletion.cpp - Dead Loop Deletion Pass ---------------===//
10 // This file implements the Dead Loop Deletion Pass. This pass is responsible
25 #define DEBUG_TYPE "loop-delete"
37 // Possibly eliminate loop L if it is dead.
38 bool runOnLoop(Loop *L, LPPassManager &LPM) override;
55 bool isLoopDead(Loop *L, SmallVectorImpl<BasicBlock *> &exitingBlocks,
63 INITIALIZE_PASS_BEGIN(LoopDeletion, "loop-deletion",
70 INITIALIZE_PASS_END(LoopDeletion, "loop-deletion",
77 /// isLoopDead - Determined if a loop is dead. This assumes that we've already
80 bool LoopDeletion::isLoopDead(Loop *L
    [all...]
  /external/llvm/lib/Target/R600/
AMDGPUTargetTransformInfo.cpp 77 void getUnrollingPreferences(Loop *L,
96 void AMDGPUTTI::getUnrollingPreferences(Loop *L,
98 for (Loop::block_iterator BI = L->block_begin(), BE = L->block_end();
112 // compiler bugs. If this loop does an address calculation on an
113 // alloca ptr, then we want to use a higher than normal loop unroll
  /external/llvm/lib/Transforms/Utils/
LCSSA.cpp 1 //===-- LCSSA.cpp - Convert loops into loop-closed SSA form ---------------===//
11 // all values that are live across the loop boundary. For example, it turns
25 // transformation is that it makes many other loop optimizations, such as
48 STATISTIC(NumLCSSA, "Number of live out of a loop variables");
59 /// Given an instruction in the loop, check to see if it has any uses that are
60 /// outside the current loop. If so, insert LCSSA PHI nodes and rewrite the
62 static bool processInstruction(Loop &L, Instruction &Inst, DominatorTree &DT,
79 // If there are no uses outside the loop, exit with no change.
117 // Add inputs from inside the loop for this PHI.
121 // If the exit block has a predecessor not within the loop, arrange fo
    [all...]

Completed in 505 milliseconds

1 2 3 4 5 6 7