Lines Matching refs:Br
56 MachineInstr *Br; member
58 MBBInfo() : Size(0), HasLongBranch(false), Br(nullptr) {} in MBBInfo()
79 int64_t computeOffset(const MachineInstr *Br);
80 void replaceBranch(MachineBasicBlock &MBB, Iter Br, DebugLoc DL,
103 static MachineBasicBlock *getTargetMBB(const MachineInstr &Br) { in getTargetMBB() argument
104 for (unsigned I = 0, E = Br.getDesc().getNumOperands(); I < E; ++I) { in getTargetMBB()
105 const MachineOperand &MO = Br.getOperand(I); in getTargetMBB()
182 ReverseIter Br = getNonDebugInstr(MBB->rbegin(), End); in initMBBInfo() local
184 if ((Br != End) && !Br->isIndirectBranch() && in initMBBInfo()
185 (Br->isConditionalBranch() || in initMBBInfo()
186 (Br->isUnconditionalBranch() && in initMBBInfo()
188 MBBInfos[I].Br = (++Br).base(); in initMBBInfo()
193 int64_t MipsLongBranch::computeOffset(const MachineInstr *Br) { in computeOffset() argument
195 int ThisMBB = Br->getParent()->getNumber(); in computeOffset()
196 int TargetMBB = getTargetMBB(*Br)->getNumber(); in computeOffset()
215 void MipsLongBranch::replaceBranch(MachineBasicBlock &MBB, Iter Br, in replaceBranch() argument
219 unsigned NewOpc = TII->getOppositeBranchOpc(Br->getOpcode()); in replaceBranch()
222 MachineInstrBuilder MIB = BuildMI(MBB, Br, DL, NewDesc); in replaceBranch()
224 for (unsigned I = 0, E = Br->getDesc().getNumOperands(); I < E; ++I) { in replaceBranch()
225 MachineOperand &MO = Br->getOperand(I); in replaceBranch()
237 if (Br->hasDelaySlot()) { in replaceBranch()
240 assert(Br->isBundledWithSucc()); in replaceBranch()
241 MachineBasicBlock::instr_iterator II(Br); in replaceBranch()
244 Br->eraseFromParent(); in replaceBranch()
254 MachineBasicBlock *MBB = I.Br->getParent(), *TgtMBB = getTargetMBB(*I.Br); in expandToLongBranch()
255 DebugLoc DL = I.Br->getDebugLoc(); in expandToLongBranch()
430 if (I.Br->isUnconditionalBranch()) { in expandToLongBranch()
432 assert(I.Br->getDesc().getNumOperands() == 1); in expandToLongBranch()
433 I.Br->RemoveOperand(0); in expandToLongBranch()
434 I.Br->addOperand(MachineOperand::CreateMBB(LongBrMBB)); in expandToLongBranch()
437 replaceBranch(*MBB, I.Br, DL, FallThroughMBB); in expandToLongBranch()
481 if (!I->Br || I->HasLongBranch) in runOnMachineFunction()
485 int64_t Offset = computeOffset(I->Br) / ShVal; in runOnMachineFunction()