Lines Matching full:headers
13 // 1. Collect the set of headers H of the SCC.
14 // 2. Collect the set of predecessors P of these headers. These may be inside as
22 // INPUT CFG: The blocks A and B form an irreducible loop with two headers.
56 // headers). The function also moves every PHINode in an outgoing block to the
117 SetVector<BasicBlock *> &Headers) { in INITIALIZE_PASS_DEPENDENCY()
136 if (Headers.count(Child->getHeader())) { in INITIALIZE_PASS_DEPENDENCY()
161 // Given a set of blocks and headers in an irreducible SCC, convert it into a
167 SetVector<BasicBlock *> &Headers) { in createNaturalLoopInternal() argument
169 // All headers are part of the SCC in createNaturalLoopInternal()
170 for (auto *H : Headers) { in createNaturalLoopInternal()
176 for (auto *H : Headers) { in createNaturalLoopInternal()
191 // predecessors to the headers. in createNaturalLoopInternal()
194 CreateControlFlowHub(&DTU, GuardBlocks, Predecessors, Headers, "irr"); in createNaturalLoopInternal()
233 reconnectChildLoops(LI, ParentLoop, NewLoop, Blocks, Headers); in createNaturalLoopInternal()
255 SetVector<BasicBlock *> &Headers) { in createNaturalLoop() argument
256 createNaturalLoopInternal(LI, DT, nullptr, Blocks, Headers); in createNaturalLoop()
261 SetVector<BasicBlock *> &Headers) { in createNaturalLoop() argument
262 createNaturalLoopInternal(LI, DT, &L, Blocks, Headers); in createNaturalLoop()
285 // match. So we discover the headers using the reverse of the block order. in makeReducible()
286 SetVector<BasicBlock *> Headers; in makeReducible() local
287 LLVM_DEBUG(dbgs() << "Found headers:"); in makeReducible()
295 Headers.insert(BB); in makeReducible()
302 if (Headers.size() == 1) { in makeReducible()
303 assert(LI.isLoopHeader(Headers.front())); in makeReducible()
307 createNaturalLoop(LI, DT, G, Blocks, Headers); in makeReducible()