Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Preheader

81     MachineBasicBlock *CurPreheader; // The preheader for CurLoop.
99 // Register pressure on path leading from loop preheader to current BB.
161 /// invariants out to the preheader.
212 /// effect of hoisting MI from the current block to the preheader.
251 /// of the preheader to initialize the starting "register pressure". Note
271 /// the preheader that compute the same value. If it's found, do a RAU on
273 /// the instruction to the preheader.
284 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader);
287 /// current loop preheader that may become duplicates of instructions that
291 /// getCurPreheader - Get the preheader for the current loop, splitting
361 // If this is done before regalloc, only visit outer-most preheader-sporting
490 /// invariants out to the preheader.
492 MachineBasicBlock *Preheader = getCurPreheader();
493 if (!Preheader)
534 MachineBasicBlock::iterator TI = Preheader->getFirstTerminator();
535 if (TI != Preheader->end()) {
609 MachineBasicBlock *Preheader = getCurPreheader();
613 DEBUG(dbgs() << "Hoisting to BB#" << Preheader->getNumber() << " from BB#"
616 // Splice the instruction to the preheader.
618 Preheader->splice(Preheader->getFirstTerminator(), MBB, MI);
735 MachineBasicBlock *Preheader = getCurPreheader();
736 if (!Preheader)
742 InitRegPressure(Preheader);
750 MachineBasicBlock *Preheader = getCurPreheader();
751 if (!Preheader)
762 if (!Hoist(MI, Preheader))
794 /// the preheader to initialize the starting "register pressure". Note this
799 // If the preheader has only a single predecessor and it ends with a
801 // defs as well. This happens whenever the preheader is created by splitting
1098 /// of hoisting MI from the current block to the preheader.
1400 bool MachineLICM::Hoist(MachineInstr *MI, MachineBasicBlock *Preheader) {
1412 if (Preheader->getBasicBlock())
1414 << Preheader->getName();
1421 // If this is the first instruction being hoisted to the preheader,
1424 InitCSEMap(Preheader);
1433 // Otherwise, splice the instruction to the preheader.
1434 Preheader->splice(Preheader->getFirstTerminator(),MI->getParent(),MI);
1468 // If we've tried to get a preheader and failed, don't try again.