Lines Matching full:scc
9 // An irreducible SCC is one which has multiple "header" blocks, i.e., blocks
10 // with control-flow edges incident from outside the SCC. This pass converts a
11 // irreducible SCC into a natural loop by applying the following transformation:
13 // 1. Collect the set of headers H of the SCC.
15 // well as outside the SCC.
18 // This converts the SCC into a natural loop with N as the header: N is the only
19 // block with edges incident from outside the SCC, and all backedges in the SCC
48 // The transformation is applied to every maximal SCC that is not already
51 // including inside any newly created loops. This ensures that any SCC hidden
52 // inside a maximal SCC is also transformed.
58 // continues to dominate its uses. Since every header in an SCC has at least two
134 // SCC gets destroyed since its backedges are removed. That may
161 // Given a set of blocks and headers in an irreducible SCC, convert it into a
169 // All headers are part of the SCC
219 // Add the SCC blocks to the new loop.
269 for (auto Scc = scc_begin(G); !Scc.isAtEnd(); ++Scc) {
270 if (Scc->size() < 2)
273 LLVM_DEBUG(dbgs() << "Found SCC:");
274 for (auto N : *Scc) {
281 // Minor optimization: The SCC blocks are usually discovered in an order