Home
last modified time | relevance | path

Searched full:loops (Results 1 – 25 of 1072) sorted by relevance

12345678910>>...43

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopNestAnalysis.h40 /// Return true if the given loops \p OuterLoop and \p InnerLoop are
55 /// by loops \p OuterLoop and \p InnerLoop from being perfect.
80 Loop &getOutermostLoop() const { return *Loops.front(); } in getOutermostLoop()
86 if (Loops.size() == 1) in getInnermostLoop()
87 return Loops.back(); in getInnermostLoop()
89 // The loops in the 'Loops' vector have been collected in breadth first in getInnermostLoop()
90 // order, therefore if the last 2 loops in it have the same nesting depth in getInnermostLoop()
92 Loop *LastLoop = Loops.back(); in getInnermostLoop()
93 auto SecondLastLoopIter = ++Loops in getInnermostLoop()
184 LoopVectorTy Loops; // the loops in the nest (in breadth first order). global() variable
[all...]
H A DScalarEvolutionNormalization.h30 // paired with a set of loops for which the expression is in "post-increment"
31 // mode (there may be multiple loops).
52 /// Normalize \p S to be post-increment for all loops present in \p
53 /// Loops. Returns nullptr if the result is not invertible and \p
55 const SCEV *normalizeForPostIncUse(const SCEV *S, const PostIncLoopSet &Loops,
64 /// Denormalize \p S to be post-increment for all loops present in \p
65 /// Loops.
66 const SCEV *denormalizeForPostIncUse(const SCEV *S, const PostIncLoopSet &Loops,
H A DDependenceAnalysis.h151 /// getLevels - Returns the number of common loops surrounding the
244 /// getLevels - Returns the number of common loops surrounding the
319 /// to dependences). Looking for cycles in the graph shows us loops
352 /// both loops.
370 SmallBitVector Loops; member
481 /// instructions and establishes their shared loops. Sets the variables
491 /// It's used to help calculate distinct loops referenced by the destination.
492 /// Here's the map from loops to levels:
495 /// ... - other common loops
497 /// ... - loops containin
[all...]
H A DBlockFrequencyInfoImpl.h431 /// Indexed information about loops.
432 std::list<LoopData> Loops; variable
453 /// every edge should be a local edge (since all the loops are packaged up).
463 /// Insert them into \a Loops before \c Insert.
481 /// backedges and exits are stored in its entry in Loops.
492 /// Initially, irreducible loops are assumed to distribute their mass
505 /// Unwrap loops.
629 /// loops.
699 /// which is called the header. A given loop, L, can have sub-loops, which are
700 /// loops within the subgraph of L that exclude its header. (A "trivial" SCC
[all …]
/freebsd/contrib/sendmail/libsm/
H A Db-strl.c32 #define LOOPS 4000000L /* initial number of loops */ macro
67 long loops = LOOPS;
116 for (a = 0; a < loops; a++)
127 for (a = 0; a < loops; a++)
137 loops += loops;
138 if (loops < 0L || one > MAXTIME)
145 loops);
152 loops = LOOPS;
157 for (a = 0; a < loops; a++)
168 for (a = 0; a < loops; a++)
[all …]
H A Db-strcmp.c21 #define LOOPS 4000000L /* initial number of loops */ macro
52 long loops; local
101 loops = LOOPS;
107 for (a = 0; a < loops; a++)
118 for (a = 0; a < loops; a++)
128 loops += loops;
129 if (loops < 0L || one > MAXTIME)
137 loops);
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DLoopUnrollPass.h30 /// profitable. If true, only loops that explicitly request unrolling via
31 /// metadata are considered. All other loops are skipped.
34 /// If true, forget all loops when unrolling. If false, forget top-most loop
35 /// of the currently processed loops, which removes one entry at a time from
36 /// the internal SCEV records. For large loops, the former is faster.
71 /// profitable. If true, only loops that explicitly request unrolling via
72 /// metadata are considered. All other loops are skipped.
75 /// If true, forget all loops when unrolling. If false, forget top-most loop
76 /// of the currently processed loops, which removes one entry at a time from
77 /// the internal SCEV records. For large loops, the former is faster.
[all …]
H A DLoopPassManager.h10 /// This header provides classes for managing a pipeline of passes over loops
15 /// 1) Loops are, where possible, in simplified form.
16 /// 2) Loops are *always* in LCSSA form.
24 /// the outermost. Specifically, all inner loops are processed before
25 /// passes run over outer loops. When running the pipeline across an inner
26 /// loop creates new inner loops, those are added and processed in this
30 /// reduce, and remove loops. For passes which are more oriented towards
31 /// optimizing loops, especially optimizing loop *nests* instead of single
32 /// loops in isolation, this framework is less interesting.
101 /// loops and to the list of loop-nest passes if the \fn run() method is for
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericLoopInfo.h10 // loops and determine the loop depth of various nodes in a generic graph of
12 // header. Note that natural loops may actually be several loops that share the
15 // This analysis calculates the nesting structure of loops in a function. For
16 // each natural loop identified, this analysis identifies natural loops
29 // Note that this analysis specifically identifies *Loops* not cycles or SCCs
56 /// Instances of this class are used to represent loops that are detected in the
61 // Loops contained entirely within this one.
81 /// 0 is used for blocks not inside any loops.
92 /// level loops
[all...]
H A DGenericLoopInfoImpl.h266 /// Because of this, it is added as a member of all parent loops, and is added
289 // Add the basic block to this loop and all parent loops... in addBasicBlockToLoop()
296 /// replaceChildLoopWith - This is used when splitting loops up. It replaces
389 /// verifyLoop - Verify loop structure of this loop and all nested loops.
392 DenseSet<const LoopT *> *Loops) const { in verifyLoopNest() argument
394 Loops->insert(static_cast<const LoopT *>(this)); in verifyLoopNest()
399 (*I)->verifyLoopNest(Loops); in verifyLoopNest()
525 /// Add a single Block to its ancestor loops in PostOrder. If the block is a
551 /// Analyze LoopInfo discovers loops during a postorder DominatorTree traversal
588 // vectors for all loops. in analyze()
[all …]
/freebsd/contrib/bmake/unit-tests/
H A Ddirective-for-empty.mk3 # Tests for .for loops containing conditions of the form 'empty(var:...)'.
37 # The typical way of mistakenly using 'empty' with variables from .for loops
42 # Instead of the 'empty' function, the variables from .for loops can be
83 # the .for loops in a separate scope. To match the current behavior, there
84 # has to be one scope per included file. There may be .for loops using the
99 # that variables from .for loops can only affect expressions in the current
100 # file. If variables from .for loops were implemented as global variables,
107 # Another tricky detail are nested .for loops in a single file that use the
110 # possible though. Assuming there are two nested .for loops, both using the
124 # from .for loops and the modifiers mentioned above.
/freebsd/tools/test/stress2/tools/
H A Dbench.c63 int loops = 9000; in cr1() local
72 for (i = 0; i < loops; i++) { in cr1()
82 for (i = 0; i < loops; i++) { in cr1()
122 int loops = 10000; in cr3() local
132 for (i = 0; i < loops; i++) { in cr3()
142 for (i = 0; i < loops; i++) { in cr3()
155 int loops = 10000; in rn1() local
165 for (i = 0; i < loops; i++) { in rn1()
188 int loops = 10000; in rw1() local
198 for (i = 0; i < loops; i++) { in rw1()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMLowOverheadLoops.cpp1 //===-- ARMLowOverheadLoops.cpp - CodeGen Low-overhead Loops ---*- C++ -*-===//
9 /// Finalize v8.1-m low-overhead loops by converting the associated pseudo
23 /// Low-overhead loops are constructed and executed using a setup instruction:
24 /// DLS, WLS, DLSTP or WLSTP and an instruction that loops back: LE or LETP.
40 /// "VPT Active" context (which includes low-overhead loops and vpt blocks).
75 #define DEBUG_TYPE "arm-low-overhead-loops"
76 #define ARM_LOW_OVERHEAD_LOOPS_NAME "ARM Low Overhead Loops pass"
244 LLVM_DEBUG(dbgs() << "ARM Loops: Adding VPT Predicate: " << *MI); in addPredicate()
249 LLVM_DEBUG(dbgs() << "ARM Loops: Resetting VPT Predicate: " << *MI); in resetPredicate()
355 LLVM_DEBUG(dbgs() << "ARM Loops: Can't convert: " << *MI); in isValid()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolutionNormalization.cpp23 /// Normalize - Normalize according to the given loops.
58 // incrementing a SCEV expression with respect to a set of loops. Since in visitAddRecExpr()
98 const PostIncLoopSet &Loops, in normalizeForPostIncUse() argument
101 if (Loops.empty()) in normalizeForPostIncUse()
104 return Loops.count(AR->getLoop()); in normalizeForPostIncUse()
108 const SCEV *Denormalized = denormalizeForPostIncUse(Normalized, Loops, SE); in normalizeForPostIncUse()
121 const PostIncLoopSet &Loops, in denormalizeForPostIncUse() argument
123 if (Loops.empty()) in denormalizeForPostIncUse()
126 return Loops.count(AR->getLoop()); in denormalizeForPostIncUse()
H A DLoopCacheAnalysis.cpp58 /// Retrieve the innermost loop in the given loop nest \p Loops. It returns a
59 /// nullptr if any loops in the loop vector supplied has more than one sibling.
60 /// The loop vector is expected to contain loops collected in breadth-first
62 static Loop *getInnerMostLoop(const LoopVectorTy &Loops) { in getInnerMostLoop() argument
63 assert(!Loops.empty() && "Expecting a non-empy loop vector"); in getInnerMostLoop()
65 Loop *LastLoop = Loops.back(); in getInnerMostLoop()
69 assert(Loops.size() == 1 && "Expecting a single loop"); in getInnerMostLoop()
73 return (llvm::is_sorted(Loops, in getInnerMostLoop()
316 // by the trip counts of loops corresponding to the inner dimensions. For in computeRefCost()
562 CacheCost::CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, in CacheCost() argument
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp33 STATISTIC(NumExtracted, "Number of loops extracted");
70 // The number of natural loops to extract from the program into functions.
87 "Extract loops into new functions", false, false)
93 "Extract loops into new functions", false, false)
107 // createLoopExtractorPass - This pass extracts all natural loops from the
172 // If there are no loops in the function. in runOnFunction()
179 // the loops. in runOnFunction()
216 // sub-loops, extract them. in runOnFunction()
223 SmallVector<Loop *, 8> Loops; in extractLoops() local
225 // Save the list of loops, as it may change. in extractLoops()
[all …]
/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DStmtOpenMP.h83 /// other loops, it is identical to the loop user variable. Must be a
702 /// Number of collapsed loops as specified by 'collapse' clause.
711 /// \param NumAssociatedLoops Number of loops associated with the construct.
720 /// The expressions built to support OpenMP loops in combined/composite
739 /// Update of LowerBound for statically scheduled omp loops for
742 /// Update of UpperBound for statically scheduled omp loops for
783 /// Update of LowerBound for statically scheduled 'omp for' loops.
785 /// Update of UpperBound for statically scheduled 'omp for' loops.
814 /// loops.
817 /// loops.
[all …]
/freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DLoopUnrolling.h1 //===--- LoopUnrolling.h - Unroll loops -------------------------*- C++ -*-===//
10 /// which loops should be completely unrolled and mark their corresponding
11 /// CFGBlocks. It is done by tracking a stack of loops in the ProgramState. This
12 /// way specific loops can be marked as completely unrolled. For considering a
36 /// Updates the stack of loops contained by the ProgramState.
41 /// element of the stack of loops.
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp20 /// loops and test whether they can be fused. The necessary conditions for
22 /// 1. The loops must be adjacent (there cannot be any statements between
23 /// the two loops).
24 /// 2. The loops must be conforming (they must execute the same number of
26 /// 3. The loops must be control flow equivalent (if one loop executes, the
28 /// 4. There cannot be any negative distance dependencies between the loops.
29 /// If all of these conditions are satisfied, it is safe to fuse the loops.
42 /// conditions for fusion. Code transformations to make loops conform to each of
73 STATISTIC(FuseCounter, "Loops fused");
89 STATISTIC(NonAdjacent, "Loops are not adjacent");
[all …]
H A DLoopInterchange.cpp10 // This pass interchanges loops to provide a more cache-friendly memory access
54 STATISTIC(LoopsInterchanged, "Number of loops interchanged");
182 // [Theorem] A permutation of the loops in a perfect nest is legal if and only
195 // Checks if it is legal to interchange 2 loops.
225 // Discard all loops above it added into Worklist. in populateWorklist()
247 /// Check if the loops can be interchanged.
256 /// loops for now.
426 LLVM_DEBUG(dbgs() << "Cannot handle loops of depth greater than " in processLoopList()
484 // Loops interchanged, update LoopList accordingly. in processLoopList()
496 // moving loops outwards. in processLoopList()
[all …]
/freebsd/share/examples/perfmon/
H A Dperfmon.c52 int loops, i, sleeptime; in main() local
66 loops = 50; in main()
90 loops = getnum(optarg, 1, INT_MAX - 1); in main()
108 buf = malloc((loops + 1) * sizeof *buf); in main()
110 err(1, "malloc(%lu)", (unsigned long)(loops +1) * sizeof *buf); in main()
127 for (i = 0; i < loops; i++) { in main()
152 for (i = 1; i <= loops; i++) { in main()
156 printf("total: %f\nmean: %f\n", total, total / loops); in main()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorize.h9 // This is the LLVM loop vectorizer. This pass modifies 'vectorizable' loops
116 /// If false, consider all loops for interleaving.
117 /// If true, only loops that explicitly request interleaving are considered.
120 /// If false, consider all loops for vectorization.
121 /// If true, only loops that explicitly request vectorization are considered.
163 /// If false, consider all loops for interleaving.
164 /// If true, only loops that explicitly request interleaving are considered.
167 /// If false, consider all loops for vectorization.
168 /// If true, only loops that explicitly request vectorization are considered.
/freebsd/tools/tools/netrate/juggle/
H A Djuggle.c85 #define LOOPS 10 macro
481 struct timespec juggle_results[LOOPS], process_results[LOOPS]; in main()
482 struct timespec thread_results[LOOPS]; in main()
499 printf("LOOPS, %d\n", LOOPS); in main()
504 for (j = 0; j < LOOPS; j++) in main()
514 * For each test, do one uncounted warmup, then LOOPS in main()
518 for (j = 0; j < LOOPS; j++) in main()
521 for (j = 0; j < LOOPS; j++) in main()
525 for (j = 0; j < LOOPS; j++) in main()
528 for (j = 0; j < LOOPS; j++) { in main()
[all …]
/freebsd/tools/test/stress2/misc/
H A Dbench.sh95 #define LOOPS 50000
108 for (i = 0; i < LOOPS; i++) {
130 for (i = 0; i < LOOPS; i++) {
140 for (i = 0; i < LOOPS; i++) {
158 for (i = 0; i < LOOPS; i++) {
184 for (i = 0; i < LOOPS / 2; i++) {
210 for (i = 0; i < LOOPS; i++) {
235 for (i = 0; i < LOOPS / 2; i++) {
246 for (i = 0; i < LOOPS / 2; i++) {
257 for (i = 0; i < LOOPS / 2; i++) {
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCCTRLoopsVerify.cpp1 //===-- PPCCTRLoops.cpp - Verify CTR loops -----------------===//
14 // CTR loops are produced by the HardwareLoops pass and this pass is simply a
15 // verification that no invalid CTR loops are produced. As such, it isn't
71 INITIALIZE_PASS_BEGIN(PPCCTRLoopsVerify, "ppc-ctr-loops-verify",
72 "PowerPC CTR Loops Verify", false, false)
74 INITIALIZE_PASS_END(PPCCTRLoopsVerify, "ppc-ctr-loops-verify", in INITIALIZE_PASS_DEPENDENCY()
75 "PowerPC CTR Loops Verify", false, false) in INITIALIZE_PASS_DEPENDENCY()

12345678910>>...43