/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | LoopNestAnalysis.h | 40 /// 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 D | ScalarEvolutionNormalization.h | 30 // 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 D | DependenceAnalysis.h | 151 /// 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 D | BlockFrequencyInfoImpl.h | 431 /// 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 D | b-strl.c | 32 #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 D | b-strcmp.c | 21 #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 D | LoopUnrollPass.h | 30 /// 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 D | LoopPassManager.h | 10 /// 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 D | GenericLoopInfo.h | 10 // 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 D | GenericLoopInfoImpl.h | 266 /// 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 D | directive-for-empty.mk | 3 # 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 D | bench.c | 63 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 D | ARMLowOverheadLoops.cpp | 1 //===-- 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 D | ScalarEvolutionNormalization.cpp | 23 /// 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 D | LoopCacheAnalysis.cpp | 58 /// 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 D | LoopExtractor.cpp | 33 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 D | StmtOpenMP.h | 83 /// 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 D | LoopUnrolling.h | 1 //===--- 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 D | LoopFuse.cpp | 20 /// 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 D | LoopInterchange.cpp | 10 // 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 D | perfmon.c | 52 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 D | LoopVectorize.h | 9 // 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 D | juggle.c | 85 #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 D | bench.sh | 95 #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 D | PPCCTRLoopsVerify.cpp | 1 //===-- 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()
|