Home | History | Annotate | Download | only in ARM

Lines Matching full:mbb

311     void computeBlockSize(MachineBasicBlock *MBB);
333 MachineBasicBlock *MBB = MBBI;
334 unsigned MBBId = MBB->getNumber();
568 static bool BBHasFallthrough(MachineBasicBlock *MBB) {
570 MachineFunction::iterator MBBI = MBB;
572 if (llvm::next(MBBI) == MBB->getParent()->end())
576 for (MachineBasicBlock::succ_iterator I = MBB->succ_begin(),
577 E = MBB->succ_end(); I != E; ++I)
621 MachineBasicBlock &MBB = *MBBI;
623 for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
655 MachineBasicBlock &MBB = *MBBI;
657 // If this block doesn't fall through into the next MBB, then this is
659 if (!BBHasFallthrough(&MBB))
660 WaterList.push_back(&MBB);
662 for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
796 /// computeBlockSize - Compute the size and some alignment information for MBB.
798 void ARMConstantIslands::computeBlockSize(MachineBasicBlock *MBB) {
799 BasicBlockInfo &BBI = BBInfo[MBB->getNumber()];
804 for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;
817 if (!MBB->empty() && MBB->back().getOpcode() == ARM::tBR_JTr) {
819 MBB->getParent()->ensureAlignment(2);
827 MachineBasicBlock *MBB = MI->getParent();
829 // The offset is composed of two things: the sum of the sizes of all MBB's
832 unsigned Offset = BBInfo[MBB->getNumber()].Offset;
834 // Sum instructions before MI in MBB.
835 for (MachineBasicBlock::iterator I = MBB->begin(); &*I != MI; ++I) {
836 assert(I != MBB->end() && "Didn't find MI in its own basic block?");
842 /// CompareMBBNumbers - Little predicate function to sort the WaterList by MBB
853 MBB's to keep them consecutive.
875 // Create a new MBB for the code after the OrigBB.
902 // Update internal data structures to account for the newly inserted MBB.
1057 static bool BBIsJumpedOver(MachineBasicBlock *MBB) {
1058 if (MBB->pred_size() != 1 || MBB->succ_size() != 1)
1061 MachineBasicBlock *Succ = *MBB->succ_begin();
1062 MachineBasicBlock *Pred = *MBB->pred_begin();
1427 // Update internal data structures to account for the newly inserted MBB.
1550 MachineBasicBlock *MBB = MI->getParent();
1557 BBInfo[MBB->getNumber()].Size += 2;
1558 adjustBBOffsetsAfter(MBB);
1586 // If the branch is at the end of its MBB and that has a fall-through block,
1588 // split the MBB before the next instruction.
1589 MachineBasicBlock *MBB = MI->getParent();
1590 MachineInstr *BMI = &MBB->back();
1591 bool NeedSplit = (BMI != MI) || !BBHasFallthrough(MBB);
1595 if (llvm::next(MachineBasicBlock::iterator(MI)) == prior(MBB->end()) &&
1620 int delta = TII->GetInstSizeInBytes(&MBB->back());
1621 BBInfo[MBB->getNumber()].Size -= delta;
1622 MBB->back().eraseFromParent();
1625 MachineBasicBlock *NextBB = llvm::next(MachineFunction::iterator(MBB));
1633 BuildMI(MBB, DebugLoc(), TII->get(MI->getOpcode()))
1635 Br.MI = &MBB->back();
1636 BBInfo[MBB->getNumber()].Size += TII->GetInstSizeInBytes(&MBB->back());
1638 BuildMI(MBB, DebugLoc(), TII->get(Br.UncondBr)).addMBB(DestBB)
1641 BuildMI(MBB, DebugLoc(), TII->get(Br.UncondBr)).addMBB(DestBB);
1642 BBInfo[MBB->getNumber()].Size += TII->GetInstSizeInBytes(&MBB->back());
1644 ImmBranches.push_back(ImmBranch(&MBB->back(), MaxDisp, false, Br.UncondBr));
1646 // Remove the old conditional branch. It may or may not still be in MBB.
1649 adjustBBOffsetsAfter(MBB);
1736 MachineBasicBlock *MBB = U.MI->getParent();
1737 BBInfo[MBB->getNumber()].Size -= 2;
1738 adjustBBOffsetsAfter(MBB);
1778 MachineBasicBlock *MBB = Br.MI->getParent();
1779 BBInfo[MBB->getNumber()].Size -= 2;
1780 adjustBBOffsetsAfter(MBB);
1819 MachineBasicBlock *MBB = Br.MI->getParent();
1822 BuildMI(*MBB, CmpMI, Br.MI->getDebugLoc(), TII->get(NewOpc))
1827 BBInfo[MBB->getNumber()].Size -= 2;
1828 adjustBBOffsetsAfter(MBB);
1865 MachineBasicBlock *MBB = JTBBs[j];
1866 unsigned DstOffset = BBInfo[MBB->getNumber()].Offset;
1879 MachineBasicBlock *MBB = MI->getParent();
1891 MachineBasicBlock::iterator B = MBB->begin();
1940 MachineInstr *NewJTMI = BuildMI(MBB, MI->getDebugLoc(), TII->get(Opc))
1944 DEBUG(dbgs() << "BB#" << MBB->getNumber() << ": " << *NewJTMI);
1957 BBInfo[MBB->getNumber()].Size -= delta;
1958 adjustBBOffsetsAfter(MBB);
1992 MachineBasicBlock *MBB = JTBBs[j];
1993 int DTNumber = MBB->getNumber();
1999 adjustJTTargetBlockForward(MBB, MI->getParent());
2039 // Create a new MBB for the code after the jump BB.
2052 // Update internal data structures to account for the newly inserted MBB.