Home | History | Annotate | Download | only in Mips

Lines Matching refs:Filler

1 //===- MipsDelaySlotFiller.cpp - Mips Delay Slot Filler -------------------===//
54 #define DEBUG_TYPE "mips-delay-slot-filler"
61 "disable-mips-delay-filler",
69 cl::desc("Disallow MIPS delay filler to search forward."),
75 cl::desc("Disallow MIPS delay filler to search successor basic blocks."),
81 cl::desc("Disallow MIPS delay filler to search backward."),
219 StringRef getPassName() const override { return "Mips Delay Slot Filler"; }
266 IterTy &Filler) const;
312 /// This function inserts clones of Filler into predecessor blocks.
313 static void insertDelayFiller(Iter Filler, const BB2BrMap &BrMap) {
314 MachineFunction *MF = Filler->getParent()->getParent();
318 MIBundleBuilder(I->second).append(MF->CloneMachineInstr(&*Filler));
321 I->first->insert(I->first->end(), MF->CloneMachineInstr(&*Filler));
326 /// This function adds registers Filler defines to MBB's live-in register list.
327 static void addLiveInRegs(Iter Filler, MachineBasicBlock &MBB) {
328 for (unsigned I = 0, E = Filler->getNumOperands(); I != E; ++I) {
329 const MachineOperand &MO = Filler->getOperand(I);
683 IterTy &Filler) const {
736 Filler = CurrI;
751 ReverseIter Filler;
757 Filler))
760 MBB.splice(std::next(SlotI), &MBB, Filler.getReverse());
774 Iter Filler;
778 if (!searchRange(MBB, std::next(Slot), MBB.end(), RegDU, NM, Slot, Filler))
781 MBB.splice(std::next(Slot), &MBB, Filler);
801 Iter Filler;
824 Filler))
827 insertDelayFiller(Filler, BrMap);
828 addLiveInRegs(Filler, *SuccBB);
829 Filler->eraseFromParent();