Lines Matching refs:Br
300 bool fixupImmediateBr(ImmBranch &Br);
301 bool fixupConditionalBr(ImmBranch &Br);
302 bool fixupUnconditionalBr(ImmBranch &Br);
1530 bool ARMConstantIslands::fixupImmediateBr(ImmBranch &Br) { in fixupImmediateBr() argument
1531 MachineInstr *MI = Br.MI; in fixupImmediateBr()
1535 if (isBBInRange(MI, DestBB, Br.MaxDisp)) in fixupImmediateBr()
1538 if (!Br.isCond) in fixupImmediateBr()
1539 return fixupUnconditionalBr(Br); in fixupImmediateBr()
1540 return fixupConditionalBr(Br); in fixupImmediateBr()
1548 ARMConstantIslands::fixupUnconditionalBr(ImmBranch &Br) { in fixupUnconditionalBr() argument
1549 MachineInstr *MI = Br.MI; in fixupUnconditionalBr()
1555 Br.MaxDisp = (1 << 21) * 2; in fixupUnconditionalBr()
1571 ARMConstantIslands::fixupConditionalBr(ImmBranch &Br) { in fixupConditionalBr() argument
1572 MachineInstr *MI = Br.MI; in fixupConditionalBr()
1596 BMI->getOpcode() == Br.UncondBr) { in fixupConditionalBr()
1605 if (isBBInRange(MI, NewDest, Br.MaxDisp)) { in fixupConditionalBr()
1635 Br.MI = &MBB->back(); in fixupConditionalBr()
1638 BuildMI(MBB, DebugLoc(), TII->get(Br.UncondBr)).addMBB(DestBB) in fixupConditionalBr()
1641 BuildMI(MBB, DebugLoc(), TII->get(Br.UncondBr)).addMBB(DestBB); in fixupConditionalBr()
1643 unsigned MaxDisp = getUnconditionalBrDisp(Br.UncondBr); in fixupConditionalBr()
1644 ImmBranches.push_back(ImmBranch(&MBB->back(), MaxDisp, false, Br.UncondBr)); in fixupConditionalBr()
1753 ImmBranch &Br = ImmBranches[i]; in optimizeThumb2Branches() local
1754 unsigned Opcode = Br.MI->getOpcode(); in optimizeThumb2Branches()
1774 MachineBasicBlock *DestBB = Br.MI->getOperand(0).getMBB(); in optimizeThumb2Branches()
1775 if (isBBInRange(Br.MI, DestBB, MaxOffs)) { in optimizeThumb2Branches()
1776 DEBUG(dbgs() << "Shrink branch: " << *Br.MI); in optimizeThumb2Branches()
1777 Br.MI->setDesc(TII->get(NewOpc)); in optimizeThumb2Branches()
1778 MachineBasicBlock *MBB = Br.MI->getParent(); in optimizeThumb2Branches()
1786 Opcode = Br.MI->getOpcode(); in optimizeThumb2Branches()
1792 if (!Br.MI->killsRegister(ARM::CPSR)) in optimizeThumb2Branches()
1797 ARMCC::CondCodes Pred = getInstrPredicate(Br.MI, PredReg); in optimizeThumb2Branches()
1804 MachineBasicBlock *DestBB = Br.MI->getOperand(0).getMBB(); in optimizeThumb2Branches()
1807 unsigned BrOffset = getOffsetOf(Br.MI) + 4 - 2; in optimizeThumb2Branches()
1810 MachineBasicBlock::iterator CmpMI = Br.MI; in optimizeThumb2Branches()
1811 if (CmpMI != Br.MI->getParent()->begin()) { in optimizeThumb2Branches()
1819 MachineBasicBlock *MBB = Br.MI->getParent(); in optimizeThumb2Branches()
1820 DEBUG(dbgs() << "Fold: " << *CmpMI << " and: " << *Br.MI); in optimizeThumb2Branches()
1822 BuildMI(*MBB, CmpMI, Br.MI->getDebugLoc(), TII->get(NewOpc)) in optimizeThumb2Branches()
1823 .addReg(Reg).addMBB(DestBB,Br.MI->getOperand(0).getTargetFlags()); in optimizeThumb2Branches()
1825 Br.MI->eraseFromParent(); in optimizeThumb2Branches()
1826 Br.MI = NewBR; in optimizeThumb2Branches()