Home | History | Annotate | Download | only in Utils

Lines Matching refs:Preheader

103     BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader);
200 // Does the loop already have a preheader? If so, don't insert one.
201 BasicBlock *Preheader = L->getLoopPreheader();
202 if (!Preheader) {
203 Preheader = InsertPreheaderForLoop(L);
204 if (Preheader) {
212 // loop preheader/header will dominate the exit blocks. If the exit block has
236 // preheader and from multiple backedges), we must adjust the loop.
255 LoopLatch = InsertUniqueBackedgeBlock(L, Preheader);
311 Preheader ? Preheader->getTerminator() : 0)) {
359 /// preheader, this method is called to insert one. This method has two phases:
360 /// preheader insertion and analysis updating.
384 ".preheader", this);
397 /// RewriteLoopExitBlock - Ensure that the loop preheader dominates all exit
478 // right after some 'outside block' block. This prevents the preheader from
632 LoopSimplify::InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader) {
639 // Unique backedge insertion currently depends on having a preheader.
640 if (!Preheader)
652 if (P != Preheader) BackedgeBlocks.push_back(P);
676 // preheader over to the new PHI node.
683 if (IBB == Preheader) {
696 // Delete all of the incoming values from the old PN except the preheader's
697 assert(PreheaderIdx != ~0U && "PHI has no preheader entry??");
746 // Indirectbr can interfere with preheader and unique backedge insertion.