HomeSort by relevance Sort by last modified time
    Searched full:backedges (Results 1 - 25 of 68) sorted by null

1 2 3

  /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...]

Completed in 986 milliseconds

1 2 3