Lines Matching refs:MBB
42 void selectLOCRMux(MachineBasicBlock &MBB,
47 void selectSELRMux(MachineBasicBlock &MBB,
52 bool expandCondMove(MachineBasicBlock &MBB,
55 bool selectMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
57 bool selectMBB(MachineBasicBlock &MBB);
76 void SystemZPostRewrite::selectLOCRMux(MachineBasicBlock &MBB, in selectLOCRMux() argument
91 expandCondMove(MBB, MBBI, NextMBBI); in selectLOCRMux()
97 void SystemZPostRewrite::selectSELRMux(MachineBasicBlock &MBB, in selectSELRMux() argument
122 MBB.getParent()->substituteDebugValuesForInst(*MBBI, *CopyInst, 1); in selectSELRMux()
149 MBB.getParent()->substituteDebugValuesForInst(*MBBI, *CopyInst, 1); in selectSELRMux()
164 expandCondMove(MBB, MBBI, NextMBBI); in selectSELRMux()
170 bool SystemZPostRewrite::expandCondMove(MachineBasicBlock &MBB, in expandCondMove() argument
173 MachineFunction &MF = *MBB.getParent(); in expandCondMove()
174 const BasicBlock *BB = MBB.getBasicBlock(); in expandCondMove()
185 LiveRegs.addLiveOuts(MBB); in expandCondMove()
186 for (auto I = std::prev(MBB.end()); I != MBBI; --I) in expandCondMove()
191 MF.insert(std::next(MachineFunction::iterator(MBB)), RestMBB); in expandCondMove()
192 RestMBB->splice(RestMBB->begin(), &MBB, MI, MBB.end()); in expandCondMove()
193 RestMBB->transferSuccessors(&MBB); in expandCondMove()
199 MF.insert(std::next(MachineFunction::iterator(MBB)), MoveMBB); in expandCondMove()
206 BuildMI(&MBB, DL, TII->get(SystemZ::BRC)) in expandCondMove()
208 MBB.addSuccessor(RestMBB); in expandCondMove()
209 MBB.addSuccessor(MoveMBB); in expandCondMove()
217 MBB.getParent()->substituteDebugValuesForInst(*MBBI, *CopyInst, 1); in expandCondMove()
220 NextMBBI = MBB.end(); in expandCondMove()
228 bool SystemZPostRewrite::selectMI(MachineBasicBlock &MBB, in selectMI() argument
244 BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(SystemZ::COPY), DstReg) in selectMI()
254 selectLOCRMux(MBB, MBBI, NextMBBI, SystemZ::LOCR, SystemZ::LOCFHR); in selectMI()
257 selectSELRMux(MBB, MBBI, NextMBBI, SystemZ::SELR, SystemZ::SELFHR); in selectMI()
266 bool SystemZPostRewrite::selectMBB(MachineBasicBlock &MBB) { in selectMBB() argument
269 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in selectMBB()
272 Modified |= selectMI(MBB, MBBI, NMBBI); in selectMBB()
283 for (auto &MBB : MF) in runOnMachineFunction() local
284 Modified |= selectMBB(MBB); in runOnMachineFunction()