/external/llvm/test/Transforms/LoopSimplify/ |
indirectbr-backedge.ll | 3 ; LoopSimplify shouldn't split loop backedges that use indirectbr.
|
/external/swiftshader/third_party/LLVM/test/Transforms/LoopSimplify/ |
indirectbr-backedge.ll | 3 ; LoopSimplify shouldn't split loop backedges that use indirectbr.
|
/external/v8/src/compiler/ |
bytecode-loop-analysis.cc | 44 // We assume that all backedges of a loop must occur together and before 48 // backedges to the parent loop.
|
osr.cc | 141 // Gather backedges from the previous copies of the inner loops of {loop}. 142 NodeVectorVector backedges(tmp_zone); 143 TRACE("Gathering backedges...\n"); 159 backedges.push_back(NodeVector(tmp_zone)); 160 backedges.back().reserve(header_nodes.size()); 167 backedges.back().push_back(input); 175 int backedge_count = static_cast<int>(backedges.size()); 181 Node* input = backedges[0][index]; 188 // Complex case of multiple backedges from previous copies requires 189 // merging the backedges to create the entry into the loop header [all...] |
bytecode-loop-analysis.h | 53 // loop header. There might be multiple backedges for do-while loops.
|
loop-peeling.cc | 19 // | | (backedges) 45 // backedges of the loop correspond to edges from the peeled iteration to 46 // the main loop body, with multiple backedges requiring a merge. 69 // | | | (backedges) 234 int backedges = loop_node->InputCount() - 1; local 235 if (backedges > 1) { 236 // Multiple backedges from original loop, therefore multiple output edges 243 graph->NewNode(common->Merge(backedges), backedges, &inputs[0]); 249 for (int i = 0; i < backedges; i++) [all...] |
loop-analysis.cc | 41 // loop header and the backedges of the loop. Graphs in the soup of nodes can 218 // Only propagate the loop mark on backedges. 258 // Do not keep the loop alive if it does not have any backedges. 302 // Propagate forward on paths that were backward reachable from backedges.
|
osr.h | 43 // backedges, respectively.
|
/external/llvm/test/Analysis/ScalarEvolution/ |
unsimplified-loop.ll | 3 ; This loop has no preheader, multiple backedges, etc., but ScalarEvolution
|
/external/swiftshader/third_party/LLVM/test/Analysis/ScalarEvolution/ |
unsimplified-loop.ll | 3 ; This loop has no preheader, multiple backedges, etc., but ScalarEvolution
|
/prebuilts/go/darwin-x86/src/cmd/compile/internal/ssa/ |
loopreschedchecks.go | 43 // insertLoopReschedChecks inserts rescheduling checks on loop backedges. 45 // TODO: when split information is recorded in export data, insert checks only on backedges that can be reached on a split-call-free path. 52 // 1. locate backedges. 55 // 3. Define a counter and record its future uses (at backedges) 64 // 6. Rewrite backedges to include counter check, reschedule check, 72 backedges := backedges(f) 73 if len(backedges) == 0 { // no backedges means no rescheduling checks. 88 for _, e := range backedges { // TODO: could filter here by calls in loops, if declared and inferred nosplit are recorded in e (…) 490 func backedges(f *Func) []Edge { func [all...] |
/prebuilts/go/linux-x86/src/cmd/compile/internal/ssa/ |
loopreschedchecks.go | 43 // insertLoopReschedChecks inserts rescheduling checks on loop backedges. 45 // TODO: when split information is recorded in export data, insert checks only on backedges that can be reached on a split-call-free path. 52 // 1. locate backedges. 55 // 3. Define a counter and record its future uses (at backedges) 64 // 6. Rewrite backedges to include counter check, reschedule check, 72 backedges := backedges(f) 73 if len(backedges) == 0 { // no backedges means no rescheduling checks. 88 for _, e := range backedges { // TODO: could filter here by calls in loops, if declared and inferred nosplit are recorded in e (…) 490 func backedges(f *Func) []Edge { func [all...] |
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/ |
PathNumbering.h | 11 // graph (DAG) [Ball96]. For a CFG backedges are removed and replaced by phony 76 // backedges. 82 // backedges. 189 // For backedges and split-edges, the phony edge which is linked to the 193 // For backedges and split-edges, the phony edge which is linked to the 251 // All backedges in the DAG.
|
BlockFrequencyImpl.h | 40 /// algorithm can find "backedges" by itself. 236 // Compute loop's cyclic probability using backedges probabilities.
|
/external/swiftshader/third_party/LLVM/lib/Analysis/ |
BranchProbabilityInfo.cpp | 257 // Calculate Edge Weights using "Loop Branch Heuristics". Predict backedges 266 SmallPtrSet<BasicBlock *, 8> BackEdges; 278 BackEdges.insert(Succ); 283 if (uint32_t numBackEdges = BackEdges.size()) { 288 for (SmallPtrSet<BasicBlock *, 8>::iterator EI = BackEdges.begin(), 289 EE = BackEdges.end(); EI != EE; ++EI) {
|
PathNumbering.cpp | 11 // graph (DAG) [Ball96]. For a CFG backedges are removed and replaced by phony 81 // backedges. 92 // backedges. 98 // backedges. 109 // backedges.
|
/external/llvm/include/llvm/Analysis/ |
LoopInfoImpl.h | 342 /// Discover a subloop with the specified backedges such that: All blocks within 346 static void discoverAndMapSubloop(LoopT *L, ArrayRef<BlockT*> Backedges, 355 std::vector<BlockT *> ReverseCFGWorklist(Backedges.begin(), Backedges.end()); 478 SmallVector<BlockT *, 4> Backedges; 488 // If Header dominates predBB, this is a new loop. Collect the backedges. 491 Backedges.push_back(Backedge); 495 if (!Backedges.empty()) { 497 discoverAndMapSubloop(L, ArrayRef<BlockT*>(Backedges), this, DomTree);
|
CFG.h | 30 /// Analyze the specified function to find all of the loop backedges in the
|
/external/llvm/lib/Analysis/ |
BranchProbabilityInfo.cpp | 343 // Calculate Edge Weights using "Loop Branch Heuristics". Predict backedges 351 SmallVector<unsigned, 8> BackEdges; 359 BackEdges.push_back(I.getSuccessorIndex()); 364 if (BackEdges.empty() && ExitingEdges.empty()) 372 unsigned Denom = (BackEdges.empty() ? 0 : LBH_TAKEN_WEIGHT) + 375 if (!BackEdges.empty()) 382 if (uint32_t numBackEdges = BackEdges.size()) { 384 for (unsigned SuccIdx : BackEdges)
|
/external/llvm/include/llvm/Transforms/Utils/ |
LoopSimplify.h | 58 /// it into a simplified loop nest with preheaders and single backedges. It will
|
/external/llvm/lib/Target/WebAssembly/ |
WebAssemblyCFGStackify.cpp | 14 /// order, ignoring loop backedges, and without any loop being interrupted 137 // block has, ignoring loop backedges. 183 // Ignore backedges. 259 // predecessors should be backedges below. 263 "Loop header predecessors must be loop predecessors or backedges");
|
/external/clang/include/clang/Analysis/Analyses/ |
ThreadSafetyCommon.h | 165 SmallVector<CFGBlock*, 4> BackEdges; 174 BackEdges.push_back(*SI); 180 for (auto *Blk : BackEdges)
|
/external/llvm/lib/Transforms/Scalar/ |
PlaceSafepoints.cpp | 81 // Ignore opportunities to avoid placing safepoints on backedges, useful for 83 static cl::opt<bool> AllBackedges("spp-all-backedges", cl::Hidden, 87 /// "counted"? Counted loops do not get safepoints at backedges. 100 /// An analysis pass whose purpose is to identify each of the backedges in 303 // Loop through all loop latches (branches controlling backedges). We need 307 // w.r.t. loops with multiple backedges.
|
/external/llvm/test/Analysis/BlockFrequencyInfo/ |
basic.ll | 12 ; Loop backedges are weighted and thus their bodies have a greater frequency.
|
/external/llvm/lib/Transforms/Utils/ |
LoopSimplify.cpp | 230 /// \brief If this loop has multiple backedges, try to pull one of them out into 349 /// If this occurs, revector all of these backedges to target a new basic block 558 // preheader and from multiple backedges), we must adjust the loop. 562 // this for loops with a giant number of backedges, just factor them into a 581 // insert a new block that all backedges target, then make it jump to the [all...] |