Lines Matching refs:Br
129 MachineInstr *Br = nullptr; member
156 int64_t computeOffset(const MachineInstr *Br);
158 void replaceBranch(MachineBasicBlock &MBB, Iter Br, const DebugLoc &DL,
225 static MachineBasicBlock *getTargetMBB(const MachineInstr &Br) { in getTargetMBB() argument
226 for (unsigned I = 0, E = Br.getDesc().getNumOperands(); I < E; ++I) { in getTargetMBB()
227 const MachineOperand &MO = Br.getOperand(I); in getTargetMBB()
304 int64_t MipsBranchExpansion::computeOffset(const MachineInstr *Br) { in computeOffset() argument
306 int ThisMBB = Br->getParent()->getNumber(); in computeOffset()
307 int TargetMBB = getTargetMBB(*Br)->getNumber(); in computeOffset()
334 void MipsBranchExpansion::replaceBranch(MachineBasicBlock &MBB, Iter Br, in replaceBranch() argument
337 unsigned NewOpc = TII->getOppositeBranchOpc(Br->getOpcode()); in replaceBranch()
340 MachineInstrBuilder MIB = BuildMI(MBB, Br, DL, NewDesc); in replaceBranch()
342 for (unsigned I = 0, E = Br->getDesc().getNumOperands(); I < E; ++I) { in replaceBranch()
343 MachineOperand &MO = Br->getOperand(I); in replaceBranch()
352 if (!TII->isBranchWithImm(Br->getOpcode())) in replaceBranch()
364 if (Br->hasDelaySlot()) { in replaceBranch()
367 assert(Br->isBundledWithSucc()); in replaceBranch()
368 MachineBasicBlock::instr_iterator II = Br.getInstrIterator(); in replaceBranch()
371 Br->eraseFromParent(); in replaceBranch()
410 MachineBasicBlock *MBB = I.Br->getParent(), *TgtMBB = getTargetMBB(*I.Br); in expandToLongBranch()
411 DebugLoc DL = I.Br->getDebugLoc(); in expandToLongBranch()
719 if (I.Br->isUnconditionalBranch()) { in expandToLongBranch()
721 assert(I.Br->getDesc().getNumOperands() == 1); in expandToLongBranch()
722 I.Br->RemoveOperand(0); in expandToLongBranch()
723 I.Br->addOperand(MachineOperand::CreateMBB(LongBrMBB)); in expandToLongBranch()
726 replaceBranch(*MBB, I.Br, DL, &*FallThroughMBB); in expandToLongBranch()
799 ReverseIter Br = getNonDebugInstr(MBB->rbegin(), End); in handlePossibleLongBranch() local
801 if ((Br != End) && Br->isBranch() && !Br->isIndirectBranch() && in handlePossibleLongBranch()
802 (Br->isConditionalBranch() || in handlePossibleLongBranch()
803 (Br->isUnconditionalBranch() && IsPIC))) { in handlePossibleLongBranch()
804 int64_t Offset = computeOffset(&*Br); in handlePossibleLongBranch()
815 !TII->isBranchOffsetInRange(Br->getOpcode(), Offset)) { in handlePossibleLongBranch()
817 MBBInfos[I].Br = &*Br; in handlePossibleLongBranch()
829 if (!I->Br) in handlePossibleLongBranch()