| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| LoopNestAnalysis.h | 38 /// Return true if the given loops \p OuterLoop and \p InnerLoop are 72 Loop &getOutermostLoop() const { return *Loops.front(); } 78 if (Loops.size() == 1) 79 return Loops.back(); 81 // The loops in the 'Loops' vector have been collected in breadth first 82 // order, therefore if the last 2 loops in it have the same nesting depth 84 Loop *LastLoop = Loops.back(); 85 auto SecondLastLoopIter = ++Loops.rbegin(); 93 assert(Index < Loops.size() && "Index is out of bounds") [all...] |
| 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. 54 const SCEV *normalizeForPostIncUse(const SCEV *S, const PostIncLoopSet &Loops, 62 /// Denormalize \p S to be post-increment for all loops present in \p 63 /// Loops. 64 const SCEV *denormalizeForPostIncUse(const SCEV *S, const PostIncLoopSet &Loops,
|
| DependenceAnalysis.h | 152 /// getLevels - Returns the number of common loops surrounding the 233 /// getLevels - Returns the number of common loops surrounding the 298 /// to dependences). Looking for cycles in the graph shows us loops 331 /// both loops. 349 SmallBitVector Loops; 460 /// instructions and establishes their shared loops. Sets the variables 470 /// It's used to help calculate distinct loops referenced by the destination. 471 /// Here's the map from loops to levels: 474 /// ... - other common loops 476 /// ... - loops containing Src but not Ds [all...] |
| LoopCacheAnalysis.h | 182 /// Construct a CacheCost object for the loop nest described by \p Loops. 186 CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, ScalarEvolution &SE, 246 /// Loops in the loop nest associated with this object. 247 LoopVectorTy Loops; 249 /// Trip counts for the loops in the loop nest associated with this object. 252 /// Cache costs for the loops in the loop nest associated with this object.
|
| LoopInfoImpl.h | 9 // This is the generic implementation of LoopInfo used for both Loops and 237 /// Because of this, it is added as a member of all parent loops, and is added 260 // Add the basic block to this loop and all parent loops... 267 /// replaceChildLoopWith - This is used when splitting loops up. It replaces 370 /// verifyLoop - Verify loop structure of this loop and all nested loops. 373 DenseSet<const LoopT *> *Loops) const { 375 Loops->insert(static_cast<const LoopT *>(this)); 380 (*I)->verifyLoopNest(Loops); 507 /// Add a single Block to its ancestor loops in PostOrder. If the block is a 533 /// Analyze LoopInfo discovers loops during a postorder DominatorTree traversa [all...] |
| BlockFrequencyInfoImpl.h | 424 /// Indexed information about loops. 425 std::list<LoopData> Loops; 446 /// every edge should be a local edge (since all the loops are packaged up). 462 /// Insert them into \a Loops before \c Insert. 480 /// backedges and exits are stored in its entry in Loops. 491 /// Initially, irreducible loops are assumed to distribute their mass 504 /// Unwrap loops. 632 /// loops. 702 /// which is called the header. A given loop, L, can have sub-loops, which are 703 /// loops within the subgraph of L that exclude its header. (A "trivial" SC [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| CalcSpillWeights.h | 50 const MachineLoopInfo &Loops; 59 const VirtRegMap &VRM, const MachineLoopInfo &Loops, 61 : MF(MF), LIS(LIS), VRM(VRM), Loops(Loops), MBFI(MBFI) {}
|
| MachineTraceMetrics.h | 30 // Traces tend to align with loops. The trace through a block in an inner loop 32 // nested loops, the trace may begin and end at those instead. 92 const MachineLoopInfo *Loops = nullptr;
|
| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| ScalarEvolutionNormalization.cpp | 22 /// Normalize - Normalize according to the given loops. 57 // incrementing a SCEV expression with respect to a set of loops. Since 97 const PostIncLoopSet &Loops, 100 return Loops.count(AR->getLoop()); 111 const PostIncLoopSet &Loops, 114 return Loops.count(AR->getLoop());
|
| LoopCacheAnalysis.cpp | 57 /// Retrieve the innermost loop in the given loop nest \p Loops. It returns a 58 /// nullptr if any loops in the loop vector supplied has more than one sibling. 59 /// The loop vector is expected to contain loops collected in breadth-first 61 static Loop *getInnerMostLoop(const LoopVectorTy &Loops) { 62 assert(!Loops.empty() && "Expecting a non-empy loop vector"); 64 Loop *LastLoop = Loops.back(); 68 assert(Loops.size() == 1 && "Expecting a single loop"); 72 return (llvm::is_sorted(Loops, 481 CacheCost::CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, 485 : Loops(Loops), TripCounts(), LoopCosts() [all...] |
| DependenceAnalysis.cpp | 695 // instructions and establishes their shared loops. Sets the variables 705 // It's used to help calculate distinct loops referenced by the destination. 706 // Here's the map from loops to levels: 709 // ... - other common loops 711 // ... - loops containing Src but not Dst 713 // ... - loops containing Dst but not Src 714 // MaxLevels - innermost loops containing Dst but not Src 734 // have 2 loops in common, so CommonLevels will equal 2 and the direction 772 // Given one of the loops containing the source, return 779 // Given one of the loops containing the destination [all...] |
| InlineSizeEstimatorAnalysis.cpp | 61 Loops, 198 FF[NamedFeatureIndex::Loops] = std::distance(LI.begin(), LI.end());
|
| LoopNestAnalysis.cpp | 27 /// Determine whether the loops structure violates basic requirements for 45 append_range(Loops, breadth_first(&Root)); 61 // Determine whether the loops structure satisfies the following requirements: 165 for (Loop *L : depth_first(const_cast<Loop *>(Loops.front()))) { 242 // We expect loops in normal form which have a preheader, header, latch... 252 // We expect rotated loops. The inner loop should have a single exit block. 279 // Ensure the only branch that may exist between the loops is the inner loop 316 // loops are still considered perfectly nested if the extra block only 365 OS << ", Loops: ( ";
|
| BlockFrequencyInfoImpl.cpp | 9 // Loops should be simplified before this analysis. 284 Loops.clear(); 377 // Infinite loops need special handling. If we give the back edge an infinite 534 for (LoopData &Loop : Loops) 779 auto Loop = BFI.Loops.emplace(Insert, OuterLoop, Headers.begin(), 794 assert((OuterLoop == nullptr) == (Insert == Loops.begin())); 795 auto Prev = OuterLoop ? std::prev(Insert) : Loops.end(); 807 return make_range(Loops.begin(), Insert); 823 assert(Loop.isIrreducible() && "this only makes sense on irreducible loops");
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| StructurizeCFG.cpp | 221 /// Additionally to that even complicated loops look like this: 261 BB2BBMap Loops; 277 void insertConditions(bool Loops); 425 /// Determine the end of the loops 431 Loops[Exit] = N->getEntry(); 440 Loops[Succ] = BB; 483 if (Visited.count(Other) && !Loops.count(Other) && 521 Loops.clear(); 544 void StructurizeCFG::insertConditions(bool Loops) { 545 BranchVector &Conds = Loops ? LoopConds : Conditions [all...] |
| LoopUnrollAndJamPass.cpp | 78 cl::desc("Allows loops to be unroll-and-jammed.")); 82 cl::desc("Use this unroll count for all loops including those with " 91 cl::desc("Unrolled size limit for loops with an unroll_and_jam(full) or " 166 // for unrolling the outer loop, plus any loops requiring explicit 259 // Limit to loops where there is something to gain from unrolling and 434 ArrayRef<Loop *> Loops = LN.getLoops(); 439 appendLoopsToWorklist(Loops, Worklist); 502 "Unroll and Jam loops", false, false) 514 "Unroll and Jam loops", false, false)
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
| LoopExtractor.cpp | 38 STATISTIC(NumExtracted, "Number of loops extracted"); 75 // The number of natural loops to extract from the program into functions. 92 "Extract loops into new functions", false, false) 98 "Extract loops into new functions", false, false) 112 // createLoopExtractorPass - This pass extracts all natural loops from the 177 // If there are no loops in the function. 184 // the loops. 221 // sub-loops, extract them. 228 SmallVector<Loop *, 8> Loops; 230 // Save the list of loops, as it may change [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| EarlyIfConversion.cpp | 764 MachineLoopInfo *Loops; 825 void updateLoops(MachineLoopInfo *Loops, 827 if (!Loops) 832 Loops->removeBlock(B); 1038 updateLoops(Loops, RemovedBlocks); 1059 Loops = getAnalysisIfAvailable<MachineLoopInfo>(); 1089 MachineLoopInfo *Loops; 1176 updateLoops(Loops, RemovedBlocks); 1193 Loops = getAnalysisIfAvailable<MachineLoopInfo>();
|
| MachineTraceMetrics.cpp | 72 Loops = &getAnalysis<MachineLoopInfo>(); 170 return MTM.Loops->getLoopFor(MBB); 295 // We never allow traces that leave loops, but we do allow traces to enter 296 // nested loops. We also never allow traces to contain back-edges. 330 // Don't leave loops, and never follow back-edges. 339 // Ignore cycles that aren't natural loops. 369 // Ignore cycles that aren't natural loops. 430 const MachineLoopInfo *Loops; 434 const MachineLoopInfo *loops) : Blocks(blocks), Loops(loops) { [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| UnifyLoopExits.cpp | 213 auto Loops = LI.getLoopsInPreorder(); 214 for (auto L : Loops) {
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/X86/ |
| X86CmovConversion.cpp | 15 /// 1. Consider as candidates only CMOVs in innermost loops (assume that 16 /// most hotspots are represented by these loops). 24 /// 3. Apply conversion only for loops that are found profitable and only for 81 STATISTIC(NumOfLoopCandidate, "Number of CMOV-conversion profitable loops"); 176 // of potentially hot loops, we want to quickly remove all CMOVs with 223 // Build up the loops in pre-order. 224 SmallVector<MachineLoop *, 4> Loops(MLI.begin(), MLI.end()); 226 // loops. 227 for (int i = 0; i < (int)Loops.size(); ++i) 228 for (MachineLoop *Child : Loops[i]->getSubLoops() [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/ |
| AArch64ConditionalCompares.cpp | 770 MachineLoopInfo *Loops; 839 if (!Loops) 842 Loops->removeBlock(RemovedMBB); 939 Loops = getAnalysisIfAvailable<MachineLoopInfo>();
|
| /src/external/apache2/llvm/dist/llvm/lib/Frontend/OpenMP/ |
| OMPIRBuilder.cpp | 1473 // * jump to the loop outer loop when done with one of the inner loops. 1558 OpenMPIRBuilder::collapseLoops(DebugLoc DL, ArrayRef<CanonicalLoopInfo *> Loops, 1560 assert(Loops.size() >= 1 && "At least one loop required"); 1561 size_t NumLoops = Loops.size(); 1565 return Loops.front(); 1567 CanonicalLoopInfo *Outermost = Loops.front(); 1568 CanonicalLoopInfo *Innermost = Loops.back(); 1583 for (CanonicalLoopInfo *L : Loops) { 1602 // one, using a divmod scheme. To preserve the original loops' order, the 1610 Value *OrigTripCount = Loops[i]->getTripCount() [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Frontend/OpenMP/ |
| OMPIRBuilder.h | 290 /// Merges loops of a loop nest into a single CanonicalLoopNest representation 292 /// nest. The induction variables of the input loops are derived from the 296 /// directive's implementation does not need to handle multiple loops itself. 308 /// After collapsing with Loops={i,j}, the loop is changed to 319 /// * All input loops have an induction variable of the same type. 322 /// input loops. Therefore it is possible that the collapsed loop cannot 323 /// represent all iterations of the input loops. For instance, assuming a 324 /// 32 bit integer type, and two input loops both iterating 2^16 times, the 330 /// Non-rectangular loops are not yet supported. 340 /// \param Loops Loops in the loop nest to collapse. Loops are specifie [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/TableGen/ |
| TGParser.cpp | 173 // Do not allow assignments like 'X = X'. This will just cause infinite loops 351 if (!Loops.empty()) { 352 Loops.back()->Entries.push_back(std::move(E)); 379 /// Resolve the entries in \p Loop, going over inner loops recursively 418 /// Resolve the entries in \p Source, going over loops recursively and 890 for (const auto &L : Loops) { 2186 // FIXME: The following two loops would not be duplicated 3149 Loops.push_back(std::make_unique<ForeachLoop>(Loc, IterName, ListValue)); 3176 std::unique_ptr<ForeachLoop> Loop = std::move(Loops.back()); 3177 Loops.pop_back() [all...] |