Home | History | Annotate | Download | only in PowerPC

Lines Matching defs:MBB

328     const MachineBasicBlock &MBB = *BI;
329 if (!MBB.isReturnBlock())
331 const MachineInstr &Ret = MBB.back();
559 bool PPCFrameLowering::findScratchRegister(MachineBasicBlock *MBB,
568 // If MBB is an entry or exit block, use R0 as the scratch register
569 if ((UseAtEnd && MBB->isReturnBlock()) ||
570 (!UseAtEnd && (&MBB->getParent()->front() == MBB)))
573 RS.enterBasicBlock(MBB);
575 if (UseAtEnd && !MBB->empty()) {
579 MachineBasicBlock::iterator MBBI = MBB->getFirstTerminator();
581 if (MBBI == MBB->end())
584 if (MBBI != MBB->begin())
606 bool PPCFrameLowering::canUseAsPrologue(const MachineBasicBlock &MBB) const {
607 MachineBasicBlock *TmpMBB = const_cast<MachineBasicBlock *>(&MBB);
612 bool PPCFrameLowering::canUseAsEpilogue(const MachineBasicBlock &MBB) const {
613 MachineBasicBlock *TmpMBB = const_cast<MachineBasicBlock *>(&MBB);
619 MachineBasicBlock &MBB) const {
620 MachineBasicBlock::iterator MBBI = MBB.begin();
644 for (unsigned i = 0; MBBI != MBB.end(); ++i, ++MBBI) {
652 MBBI = MBB.begin();
704 findScratchRegister(&MBB, false, &ScratchReg);
752 BuildMI(MBB, MBBI, dl, MFLRInst, ScratchReg);
762 BuildMI(MBB, MBBI, dl, TII.get(PPC::MFCR8), TempReg);
769 BuildMI(MBB, MBBI, dl, StoreInst)
776 BuildMI(MBB, MBBI, dl, StoreInst)
783 BuildMI(MBB, MBBI, dl, StoreInst)
790 BuildMI(MBB, MBBI, dl, StoreInst)
796 BuildMI(MBB, MBBI, dl, TII.get(PPC::STW8))
809 BuildMI(MBB, MBBI, dl, OrInst, BPReg)
816 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLDICL), ScratchReg)
821 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLWINM), ScratchReg)
827 BuildMI(MBB, MBBI, dl, SubtractImmCarryingInst, ScratchReg)
831 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, TempReg)
833 BuildMI(MBB, MBBI, dl, OrImmInst, TempReg)
836 BuildMI(MBB, MBBI, dl, SubtractCarryingInst, ScratchReg)
840 BuildMI(MBB, MBBI, dl, StoreUpdtIdxInst, SPReg)
846 BuildMI(MBB, MBBI, dl, StoreUpdtInst, SPReg)
852 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, ScratchReg)
854 BuildMI(MBB, MBBI, dl, OrImmInst, ScratchReg)
857 BuildMI(MBB, MBBI, dl, StoreUpdtIdxInst, SPReg)
880 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
888 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
897 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
906 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
915 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
922 BuildMI(MBB, MBBI, dl, OrInst, FPReg)
933 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
966 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
974 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
981 MachineBasicBlock &MBB) const {
982 MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
985 if (MBBI != MBB.end())
1034 findScratchRegister(&MBB, true, &ScratchReg);
1068 bool IsReturnBlock = (MBBI != MBB.end() && MBBI->isReturn());
1109 BuildMI(MBB, MBBI, dl, AddImmInst, SPReg)
1112 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, ScratchReg)
1114 BuildMI(MBB, MBBI, dl, OrImmInst, ScratchReg)
1117 BuildMI(MBB, MBBI, dl, AddInst)
1123 BuildMI(MBB, MBBI, dl, AddImmInst, SPReg)
1127 BuildMI(MBB, MBBI, dl, LoadInst, SPReg)
1134 BuildMI(MBB, MBBI, dl, LoadInst, ScratchReg)
1142 BuildMI(MBB, MBBI, dl, TII.get(PPC::LWZ8), TempReg)
1147 BuildMI(MBB, MBBI, dl, LoadInst, FPReg)
1153 BuildMI(MBB, MBBI, dl, LoadInst)
1159 BuildMI(MBB, MBBI, dl, LoadInst, BPReg)
1165 BuildMI(MBB, MBBI, dl, TII.get(PPC::MTOCRF8), MustSaveCRs[i])
1169 BuildMI(MBB, MBBI, dl, MTLRInst).addReg(ScratchReg);
1182 BuildMI(MBB, MBBI, dl, AddImmInst, SPReg)
1185 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, ScratchReg)
1187 BuildMI(MBB, MBBI, dl, OrImmInst, ScratchReg)
1190 BuildMI(MBB, MBBI, dl, AddInst)
1196 MBBI = MBB.getLastNonDebugInstr();
1198 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILB)).
1201 MBBI = MBB.getLastNonDebugInstr();
1203 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBCTR));
1205 MBBI = MBB.getLastNonDebugInstr();
1207 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBA)).addImm(JumpTarget.getImm());
1209 MBBI = MBB.getLastNonDebugInstr();
1211 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILB8)).
1214 MBBI = MBB.getLastNonDebugInstr();
1216 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBCTR8));
1218 MBBI = MBB.getLastNonDebugInstr();
1220 BuildMI(MBB, MBBI, dl, TII.get(PPC::TAILBA8)).addImm(JumpTarget.getImm());
1548 PPCFrameLowering::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
1558 MachineFunction *MF = MBB.getParent();
1577 MBB.addLiveIn(Reg);
1599 MBB.insert(MI, CRMIB);
1600 MBB.insert(MI, addFrameReference(BuildMI(*MF, DL, TII.get(PPC::STW))
1607 TII.storeRegToStackSlot(MBB, MI, Reg, true,
1617 MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
1620 MachineFunction *MF = MBB.getParent();
1630 MBB.insert(MI, addFrameReference(BuildMI(*MF, DL, TII.get(PPC::LWZ),
1638 MBB.insert(MI, BuildMI(*MF, DL, TII.get(RestoreOp), PPC::CR2)
1642 MBB.insert(MI, BuildMI(*MF, DL, TII.get(RestoreOp), PPC::CR3)
1646 MBB.insert(MI, BuildMI(*MF, DL, TII.get(RestoreOp), PPC::CR4)
1651 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
1670 BuildMI(MBB, I, dl, TII.get(ADDIInstr), StackReg)
1675 BuildMI(MBB, MBBI, dl, TII.get(LISInstr), TmpReg)
1677 BuildMI(MBB, MBBI, dl, TII.get(ORIInstr), TmpReg)
1680 BuildMI(MBB, MBBI, dl, TII.get(ADDInstr), StackReg)
1687 MBB.erase(I);
1691 PPCFrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
1701 MachineFunction *MF = MBB.getParent();
1712 bool AtStart = I == MBB.begin();
1746 MBB, I, CSI, CSIIndex);
1752 TII.loadRegFromStackSlot(MBB, I, Reg, CSI[i].getFrameIdx(),
1754 assert(I != MBB.begin() &&
1760 I = MBB.begin();
1771 MBB, I, CSI, CSIIndex);