Lines Matching defs:Filler

1 //===-- MipsDelaySlotFiller.cpp - Mips Delay Slot Filler ------------------===//
167 class Filler : public MachineFunctionPass {
169 Filler(TargetMachine &tm)
173 return "Mips Delay Slot Filler";
210 IterTy &Filler) const;
246 char Filler::ID = 0;
253 /// This function inserts clones of Filler into predecessor blocks.
254 static void insertDelayFiller(Iter Filler, const BB2BrMap &BrMap) {
255 MachineFunction *MF = Filler->getParent()->getParent();
259 MIBundleBuilder(I->second).append(MF->CloneMachineInstr(&*Filler));
262 I->first->insert(I->first->end(), MF->CloneMachineInstr(&*Filler));
267 /// This function adds registers Filler defines to MBB's live-in register list.
268 static void addLiveInRegs(Iter Filler, MachineBasicBlock &MBB) {
269 for (unsigned I = 0, E = Filler->getNumOperands(); I != E; ++I) {
270 const MachineOperand &MO = Filler->getOperand(I);
494 bool Filler::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
530 return new Filler(tm);
534 bool Filler::searchRange(MachineBasicBlock &MBB, IterTy Begin, IterTy End,
536 IterTy &Filler) const {
563 Filler = I;
570 bool Filler::searchBackward(MachineBasicBlock &MBB, Iter Slot) const {
576 ReverseIter Filler;
580 if (!searchRange(MBB, ReverseIter(Slot), MBB.rend(), RegDU, MemDU, Filler))
583 MBB.splice(std::next(Slot), &MBB, std::next(Filler).base());
589 bool Filler::searchForward(MachineBasicBlock &MBB, Iter Slot) const {
596 Iter Filler;
600 if (!searchRange(MBB, std::next(Slot), MBB.end(), RegDU, NM, Filler))
603 MBB.splice(std::next(Slot), &MBB, Filler);
609 bool Filler::searchSuccBBs(MachineBasicBlock &MBB, Iter Slot) const {
622 Iter Filler;
643 if (!searchRange(MBB, SuccBB->begin(), SuccBB->end(), RegDU, *IM, Filler))
646 insertDelayFiller(Filler, BrMap);
647 addLiveInRegs(Filler, *SuccBB);
648 Filler->eraseFromParent();
653 MachineBasicBlock *Filler::selectSuccBB(MachineBasicBlock &B) const {
668 Filler::getBranch(MachineBasicBlock &MBB, const MachineBasicBlock &Dst) const {
703 bool Filler::examinePred(MachineBasicBlock &Pred, const MachineBasicBlock &Succ,
724 bool Filler::delayHasHazard(const MachineInstr &Candidate, RegDefsUses &RegDU,
734 bool Filler::terminateSearch(const MachineInstr &Candidate) const {