reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/Analysis/BlockFrequencyInfoImpl.h
   55 class MachineBasicBlock;
include/llvm/CodeGen/Analysis.h
   29 class MachineBasicBlock;
include/llvm/CodeGen/AsmPrinter.h
   50 class MachineBasicBlock;
include/llvm/CodeGen/AsmPrinterHandler.h
   22 class MachineBasicBlock;
include/llvm/CodeGen/ExecutionDomainFix.h
   33 class MachineBasicBlock;
include/llvm/CodeGen/GlobalISel/IRTranslator.h
   43 class MachineBasicBlock;
include/llvm/CodeGen/LexicalScopes.h
   30 class MachineBasicBlock;
include/llvm/CodeGen/LiveRegUnits.h
   27 class MachineBasicBlock;
include/llvm/CodeGen/LiveVariables.h
   42 class MachineBasicBlock;
include/llvm/CodeGen/LoopTraversal.h
   25 class MachineBasicBlock;
include/llvm/CodeGen/MIRParser/MIParser.h
   23 class MachineBasicBlock;
include/llvm/CodeGen/MIRPrinter.h
   19 class MachineBasicBlock;
include/llvm/CodeGen/MachineBlockFrequencyInfo.h
   25 class MachineBasicBlock;
include/llvm/CodeGen/MachineFrameInfo.h
   25 class MachineBasicBlock;
include/llvm/CodeGen/MachineInstr.h
   43 class MachineBasicBlock;
include/llvm/CodeGen/MachineJumpTableInfo.h
   28 class MachineBasicBlock;
include/llvm/CodeGen/MachineLoopUtils.h
   13 class MachineBasicBlock;
include/llvm/CodeGen/MachineOperand.h
   30 class MachineBasicBlock;
include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
   22 class MachineBasicBlock;
include/llvm/CodeGen/MachineSSAUpdater.h
   18 class MachineBasicBlock;
include/llvm/CodeGen/MachineSizeOpts.h
   21 class MachineBasicBlock;
include/llvm/CodeGen/ModuloSchedule.h
   72 class MachineBasicBlock;
include/llvm/CodeGen/ReachingDefAnalysis.h
   31 class MachineBasicBlock;
include/llvm/CodeGen/SelectionDAG.h
   70 class MachineBasicBlock;
include/llvm/CodeGen/SelectionDAGISel.h
   30 class MachineBasicBlock;
include/llvm/CodeGen/SelectionDAGNodes.h
   61 class MachineBasicBlock;
include/llvm/CodeGen/SwiftErrorValueTracking.h
   30   class MachineBasicBlock;
include/llvm/CodeGen/SwitchLoweringUtils.h
   21 class MachineBasicBlock;
include/llvm/CodeGen/TailDuplicator.h
   27 class MachineBasicBlock;
include/llvm/CodeGen/TargetLowering.h
   80 class MachineBasicBlock;
include/llvm/CodeGen/WinEHFuncInfo.h
   32 class MachineBasicBlock;
lib/CodeGen/AggressiveAntiDepBreaker.h
   29 class MachineBasicBlock;
lib/CodeGen/CriticalAntiDepBreaker.h
   26 class MachineBasicBlock;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   75 class MachineBasicBlock;
lib/Target/ARM/ARM.h
   32 class MachineBasicBlock;
lib/Target/ARM/ARMConstantPoolValue.h
   31 class MachineBasicBlock;
lib/Target/ARM/ARMISelLowering.h
   44 class MachineBasicBlock;
lib/Target/Hexagon/BitTracker.h
   29 class MachineBasicBlock;
lib/Target/Hexagon/HexagonBlockRanges.h
   22 class MachineBasicBlock;
lib/Target/Hexagon/RDFCopy.h
   21 class MachineBasicBlock;
lib/Target/Hexagon/RDFGraph.h
  248 class MachineBasicBlock;
lib/Target/Hexagon/RDFLiveness.h
   25 class MachineBasicBlock;
lib/Target/Mips/MipsAsmPrinter.h
   31 class MachineBasicBlock;
lib/Target/Mips/MipsISelLowering.h
   47 class MachineBasicBlock;
lib/Target/Mips/MipsMCInstLower.h
   18 class MachineBasicBlock;
lib/Target/Mips/MipsSEFrameLowering.h
   17 class MachineBasicBlock;
lib/Target/Mips/MipsSEISelLowering.h
   22 class MachineBasicBlock;
lib/Target/SystemZ/SystemZAsmPrinter.h
   20 class MachineBasicBlock;

References

gen/lib/Target/AArch64/AArch64GenGICombiner.inc
  101   MachineBasicBlock *MBB = MI.getParent();
include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  127     ArrayRef(const std::vector<U *, A> &Vec,
  129                  std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
  244   static yes& test(Inner *I, decltype(I->rbegin()) * = nullptr);
  250   static const bool value = sizeof(test<Ty>(nullptr)) == sizeof(yes);
 1172 bool any_of(R &&Range, UnaryPredicate P) {
include/llvm/ADT/SmallSet.h
  249 class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {};
include/llvm/ADT/ilist.h
   82 struct ilist_node_traits : ilist_alloc_traits<NodeTy>,
   83                            ilist_callback_traits<NodeTy> {};
   89 struct ilist_traits : public ilist_node_traits<NodeTy> {};
   96 template <class T> T &make();
  106   static Yes &test(U *I, decltype(I->getNext(&make<NodeT>())) * = 0);
  136   static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0);
  144   static const bool value = HasGetNext<TraitsT, NodeT>::value ||
  146                             HasCreateNode<TraitsT, NodeT>::value;
  389     : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
  389     : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
include/llvm/ADT/ilist_node.h
  150           typename ilist_detail::compute_node_options<T, Options...>::type> {
  256 class ilist_node_with_parent : public ilist_node<NodeTy, Options...> {
  266   const ParentTy *getNodeParent() const {
  274   NodeTy *getPrevNode() {
  278         getNodeParent()->*(ParentTy::getSublistAccess((NodeTy *)nullptr));
  283   const NodeTy *getPrevNode() const {
  288   NodeTy *getNextNode() {
  292         getNodeParent()->*(ParentTy::getSublistAccess((NodeTy *)nullptr));
  297   const NodeTy *getNextNode() const {
include/llvm/ADT/ilist_node_options.h
  108   typedef T value_type;
  109   typedef T *pointer;
  110   typedef T &reference;
  111   typedef const T *const_pointer;
  112   typedef const T &const_reference;
  122   typedef node_options<T, extract_sentinel_tracking<Options...>::value,
include/llvm/ADT/simple_ilist.h
   79     : ilist_detail::compute_node_options<T, Options...>::type::list_base_type,
   81           typename ilist_detail::compute_node_options<T, Options...>::type> {
   85       typename ilist_detail::compute_node_options<T, Options...>::type;
include/llvm/Analysis/BlockFrequencyInfoImpl.h
  553   using BlockT = MachineBasicBlock;
  567 template <class BlockT> std::string getBlockName(const BlockT *BB) {
  844   using BlockT = typename bfi_detail::TypeMap<BT>::BlockT;
  845   using FunctionT = typename bfi_detail::TypeMap<BT>::FunctionT;
  847       typename bfi_detail::TypeMap<BT>::BranchProbabilityInfoT;
  848   using LoopT = typename bfi_detail::TypeMap<BT>::LoopT;
  849   using LoopInfoT = typename bfi_detail::TypeMap<BT>::LoopInfoT;
 1260   using BlockT = BT;
 1264   const BlockFrequencyInfoImpl<BT> &BFI;
 1266   explicit BlockEdgesAdder(const BlockFrequencyInfoImpl<BT> &BFI)
 1291   BlockEdgesAdder<BT> addBlockEdges(*this);
include/llvm/Analysis/DominanceFrontier.h
   43   using DomSetType = std::set<BlockT *>;                // Dom set for a bb
   44   using DomSetMapType = std::map<BlockT *, DomSetType>; // Dom set map
   47   using BlockTraits = GraphTraits<BlockT *>;
   51   SmallVector<BlockT *, IsPostDom ? 4 : 1> Roots;
   60   const SmallVectorImpl<BlockT *> &getRoots() const { return Roots; }
   62   BlockT *getRoot() const {
   84   iterator find(BlockT *B) { return Frontiers.find(B); }
   85   const_iterator find(BlockT *B) const { return Frontiers.find(B); }
   87   iterator addBasicBlock(BlockT *BB, const DomSetType &frontier) {
   93   void removeBlock(BlockT *BB);
   95   void addToFrontier(iterator I, BlockT *Node);
   97   void removeFromFrontier(iterator I, BlockT *Node);
  123     : public DominanceFrontierBase<BlockT, false> {
  125   using BlockTraits = GraphTraits<BlockT *>;
  128   using DomTreeT = DomTreeBase<BlockT>;
  129   using DomTreeNodeT = DomTreeNodeBase<BlockT>;
  130   using DomSetType = typename DominanceFrontierBase<BlockT, false>::DomSetType;
include/llvm/Analysis/DominanceFrontierImpl.h
   37   using DomTreeNodeT = DomTreeNodeBase<BlockT>;
   39   DFCalculateWorkObject(BlockT *B, BlockT *P, const DomTreeNodeT *N,
   39   DFCalculateWorkObject(BlockT *B, BlockT *P, const DomTreeNodeT *N,
   43   BlockT *currentBB;
   44   BlockT *parentBB;
   76   std::set<BlockT *> tmpSet;
   77   for (BlockT *BB : DS2)
   82     BlockT *Node = *I++;
  110     BlockT *Node = I->first;
  138     const std::set<BlockT *> &BBs = I->second;
  140     for (const BlockT *BB : BBs) {
  162   BlockT *BB = Node->getBlock();
  165   std::vector<DFCalculateWorkObject<BlockT>> workList;
  166   SmallPtrSet<BlockT *, 32> visited;
  170     DFCalculateWorkObject<BlockT> *currentW = &workList.back();
  173     BlockT *currentBB = currentW->currentBB;
  174     BlockT *parentBB = currentW->parentBB;
  184       for (const auto Succ : children<BlockT *>(currentBB)) {
  199       BlockT *childBB = IDominee->getBlock();
include/llvm/Analysis/LoopInfo.h
   80   std::vector<BlockT *> Blocks;
   82   SmallPtrSet<const BlockT *, 8> DenseBlockSet;
   89   LoopBase(const LoopBase<BlockT, LoopT> &) = delete;
   90   const LoopBase<BlockT, LoopT> &
   91   operator=(const LoopBase<BlockT, LoopT> &) = delete;
  105   BlockT *getHeader() const { return getBlocks().front(); }
  125   bool contains(const BlockT *BB) const {
  131   template <class InstT> bool contains(const InstT *Inst) const {
  154   ArrayRef<BlockT *> getBlocks() const {
  158   typedef typename ArrayRef<BlockT *>::const_iterator block_iterator;
  175   std::vector<BlockT *> &getBlocksVector() {
  181   SmallPtrSetImpl<const BlockT *> &getBlocksSet() {
  187   const SmallPtrSetImpl<const BlockT *> &getBlocksSet() const {
  208   bool isLoopExiting(const BlockT *BB) const {
  211     for (const auto &Succ : children<const BlockT *>(BB)) {
  222   bool isLoopLatch(const BlockT *BB) const {
  226     BlockT *Header = getHeader();
  227     auto PredBegin = GraphTraits<Inverse<BlockT *>>::child_begin(Header);
  228     auto PredEnd = GraphTraits<Inverse<BlockT *>>::child_end(Header);
  236     BlockT *H = getHeader();
  238     for (const auto Pred : children<Inverse<BlockT *>>(H))
  256   void getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const;
  260   BlockT *getExitingBlock() const;
  264   void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
  268   BlockT *getExitBlock() const;
  276   void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
  282   void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
  286   BlockT *getUniqueExitBlock() const;
  289   typedef std::pair<BlockT *, BlockT *> Edge;
  289   typedef std::pair<BlockT *, BlockT *> Edge;
  300   BlockT *getLoopPreheader() const;
  306   BlockT *getLoopPredecessor() const;
  310   BlockT *getLoopLatch() const;
  314   void getLoopLatches(SmallVectorImpl<BlockT *> &LoopLatches) const {
  316     BlockT *H = getHeader();
  317     for (const auto Pred : children<Inverse<BlockT *>>(H))
  365   void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
  365   void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
  403   void addBlockEntry(BlockT *BB) {
  423   void moveToHeader(BlockT *BB) {
  440   void removeBlockFromLoop(BlockT *BB) {
  470   explicit LoopBase(BlockT *BB) : ParentLoop(nullptr) {
  499 raw_ostream &operator<<(raw_ostream &OS, const LoopBase<BlockT, LoopT> &Loop) {
  850   DenseMap<const BlockT *, LoopT *> BBMap;
  928   LoopT *getLoopFor(const BlockT *BB) const { return BBMap.lookup(BB); }
  931   const LoopT *operator[](const BlockT *BB) const { return getLoopFor(BB); }
  935   unsigned getLoopDepth(const BlockT *BB) const {
  941   bool isLoopHeader(const BlockT *BB) const {
  960   void changeLoopFor(BlockT *BB, LoopT *L) {
  987   void removeBlock(BlockT *BB) {
 1009   void analyze(const DominatorTreeBase<BlockT, false> &DomTree);
 1014   void verify(const DominatorTreeBase<BlockT, false> &DomTree) const;
include/llvm/Analysis/LoopInfoImpl.h
   38     for (const auto &Succ : children<BlockT *>(BB))
   51   SmallVector<BlockT *, 8> ExitingBlocks;
   66     for (const auto &Succ : children<BlockT *>(BB))
   77   SmallVector<BlockT *, 8> ExitBlocks;
   88   SmallVector<BlockT *, 4> UniqueExitBlocks;
   90   for (BlockT *EB : UniqueExitBlocks)
   91     for (BlockT *Predecessor : children<Inverse<BlockT *>>(EB))
   91     for (BlockT *Predecessor : children<Inverse<BlockT *>>(EB))
  102                                SmallVectorImpl<BlockT *> &ExitBlocks,
  105   SmallPtrSet<BlockT *, 32> Visited;
  107   for (BlockT *BB : Filtered)
  108     for (BlockT *Successor : children<BlockT *>(BB))
  108     for (BlockT *Successor : children<BlockT *>(BB))
  124   const BlockT *Latch = getLoopLatch();
  132   SmallVector<BlockT *, 8> UniqueExitBlocks;
  145     for (const auto &Succ : children<BlockT *>(BB))
  163   BlockT *Out = getLoopPredecessor();
  172   typedef GraphTraits<BlockT *> BlockTraits;
  191   BlockT *Out = nullptr;
  194   BlockT *Header = getHeader();
  195   for (const auto Pred : children<Inverse<BlockT *>>(Header)) {
  211   BlockT *Header = getHeader();
  212   BlockT *Latch = nullptr;
  213   for (const auto Pred : children<Inverse<BlockT *>>(Header)) {
  285   SmallVector<BlockT *, 8> ExitBBs;
  287   df_iterator_default_set<BlockT *> VisitSet;
  289   df_ext_iterator<BlockT *, df_iterator_default_set<BlockT *>>
  289   df_ext_iterator<BlockT *, df_iterator_default_set<BlockT *>>
  294   SmallPtrSet<BlockT *, 8> VisitedBBs;
  298     BlockT *BB = *BI;
  310     SmallVector<BlockT *, 2> OutsideLoopPreds;
  311     std::for_each(GraphTraits<Inverse<BlockT *>>::child_begin(BB),
  312                   GraphTraits<Inverse<BlockT *>>::child_end(BB),
  324       BlockT *EntryBB = &BB->getParent()->front();
  325       for (BlockT *CB : depth_first(EntryBB))
  384   BlockT *H = getHeader();
  386     BlockT *BB = getBlocks()[i];
  418 static void discoverAndMapSubloop(LoopT *L, ArrayRef<BlockT *> Backedges,
  419                                   LoopInfoBase<BlockT, LoopT> *LI,
  420                                   const DomTreeBase<BlockT> &DomTree) {
  421   typedef GraphTraits<Inverse<BlockT *>> InvBlockTraits;
  427   std::vector<BlockT *> ReverseCFGWorklist(Backedges.begin(), Backedges.end());
  429     BlockT *PredBB = ReverseCFGWorklist.back();
  464       for (const auto Pred : children<Inverse<BlockT *>>(PredBB)) {
  476   typedef GraphTraits<BlockT *> BlockTraits;
  479   LoopInfoBase<BlockT, LoopT> *LI;
  482   PopulateLoopsDFS(LoopInfoBase<BlockT, LoopT> *li) : LI(li) {}
  484   void traverse(BlockT *EntryBlock);
  487   void insertIntoLoop(BlockT *Block);
  493   for (BlockT *BB : post_order(EntryBlock))
  540   const DomTreeNodeBase<BlockT> *DomRoot = DomTree.getRootNode();
  543     BlockT *Header = DomNode->getBlock();
  544     SmallVector<BlockT *, 4> Backedges;
  547     for (const auto Backedge : children<Inverse<BlockT *>>(Header)) {
  562   PopulateLoopsDFS<BlockT, LoopT> DFS(this);
  629 void addInnerLoopsToHeadersMap(DenseMap<BlockT *, const LoopT *> &LoopHeaders,
  630                                const LoopInfoBase<BlockT, LoopT> &LI,
  640                          DenseMap<BlockT *, const LoopT *> &OtherLoopHeaders) {
  641   BlockT *H = L->getHeader();
  642   BlockT *OtherH = OtherL->getHeader();
  657     BlockT *SubH = SubL->getHeader();
  664   std::vector<BlockT *> BBs = L->getBlocks();
  665   std::vector<BlockT *> OtherBBs = OtherL->getBlocks();
  669   const SmallPtrSetImpl<const BlockT *> &BlocksSet = L->getBlocksSet();
  670   const SmallPtrSetImpl<const BlockT *> &OtherBlocksSet = L->getBlocksSet();
  692     const BlockT *BB = Entry.first;
  702   LoopInfoBase<BlockT, LoopT> OtherLI;
  708   DenseMap<BlockT *, const LoopT *> OtherLoopHeaders;
  716     BlockT *Header = L->getHeader();
include/llvm/Analysis/RegionInfoImpl.h
  504       for (const auto *BB : blocks())
include/llvm/Analysis/RegionIterator.h
   42   using BlockTraits = GraphTraits<BlockT *>;
   82   NodeRef getISucc(BlockT *BB) const {
   90   inline BlockT* getRegionSucc() const {
   96   inline bool isExit(BlockT* BB) const {
  101   using Self = RNSuccIterator<NodeRef, BlockT, RegionT>;
  133     BlockT *BB = isRegionMode() ? getRegionSucc() : *BItor;
  169   using BlockTraits = GraphTraits<BlockT *>;
  176   using Self = RNSuccIterator<FlatIt<NodeRef>, BlockT, RegionT>;
include/llvm/CodeGen/Analysis.h
  145 DenseMap<const MachineBasicBlock *, int>
include/llvm/CodeGen/AsmPrinter.h
  407   virtual void EmitBasicBlockStart(const MachineBasicBlock &MBB);
  410   virtual void EmitBasicBlockEnd(const MachineBasicBlock &MBB);
  438   isBlockOnlyReachableByFallthrough(const MachineBasicBlock *MBB) const;
  681                           const MachineBasicBlock *MBB, unsigned uid) const;
  693   void setupCodePaddingContext(const MachineBasicBlock &MBB,
include/llvm/CodeGen/AsmPrinterHandler.h
   56   virtual void beginFragment(const MachineBasicBlock *MBB,
   61   virtual void beginFunclet(const MachineBasicBlock &MBB,
include/llvm/CodeGen/DFAPacketizer.h
  166   void PacketizeMIs(MachineBasicBlock *MBB,
  167                     MachineBasicBlock::iterator BeginItr,
  174   virtual MachineBasicBlock::iterator addToPacket(MachineInstr &MI) {
  183   virtual void endPacket(MachineBasicBlock *MBB,
  184                          MachineBasicBlock::iterator MI);
  192                                        const MachineBasicBlock *MBB) {
include/llvm/CodeGen/DebugHandlerBase.h
   69   const MachineBasicBlock *PrevInstBB = nullptr;
include/llvm/CodeGen/FastISel.h
  230   MachineBasicBlock::iterator LastFlushPoint;
  314   void removeDeadCode(MachineBasicBlock::iterator I,
  318     MachineBasicBlock::iterator InsertPt;
  455   void fastEmitBranch(MachineBasicBlock *MSucc, const DebugLoc &DbgLoc);
  459   void finishCondBranch(const BasicBlock *BranchBB, MachineBasicBlock *TrueMBB,
  460                         MachineBasicBlock *FalseMBB);
  575     void initialize(MachineBasicBlock *MBB,
  576                     MachineBasicBlock::iterator LastFlushPoint);
  585   MachineBasicBlock::iterator SavedInsertPt;
include/llvm/CodeGen/FunctionLoweringInfo.h
   73   DenseMap<const BasicBlock*, MachineBasicBlock *> MBBMap;
  153   MachineBasicBlock *MBB;
  156   MachineBasicBlock::iterator InsertPt;
include/llvm/CodeGen/GlobalISel/CSEInfo.h
   99                                       MachineBasicBlock *MBB, void *&InsertPos);
  109                                         MachineBasicBlock *MBB,
  187   addNodeIDMBB(const MachineBasicBlock *MBB) const;
include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h
   43   bool dominates(MachineBasicBlock::const_iterator A,
include/llvm/CodeGen/GlobalISel/IRTranslator.h
  150   DenseMap<const BasicBlock *, MachineBasicBlock *> BBToMBB;
  158   DenseMap<CFGEdge, SmallVector<MachineBasicBlock *, 1>> MachinePreds;
  297                            MachineBasicBlock *HeaderBB);
  298   void emitJumpTable(SwitchCG::JumpTable &JT, MachineBasicBlock *MBB);
  300   void emitSwitchCase(SwitchCG::CaseBlock &CB, MachineBasicBlock *SwitchBB,
  304                               MachineBasicBlock *SwitchMBB,
  305                               MachineBasicBlock *CurMBB,
  306                               MachineBasicBlock *DefaultMBB,
  316                                 MachineBasicBlock *Fallthrough,
  319                                 MachineBasicBlock *CurMBB,
  321                                 MachineBasicBlock *SwitchMBB);
  324                            MachineBasicBlock *SwitchMBB,
  325                            MachineBasicBlock *DefaultMBB,
  534         MachineBasicBlock *Src, MachineBasicBlock *Dst,
  534         MachineBasicBlock *Src, MachineBasicBlock *Dst,
  587   MachineBasicBlock &getMBB(const BasicBlock &BB);
  593   void addMachineCFGPred(CFGEdge Edge, MachineBasicBlock *NewPred);
  599   SmallVector<MachineBasicBlock *, 1> getMachinePredBBs(CFGEdge Edge) {
  608   BranchProbability getEdgeProbability(const MachineBasicBlock *Src,
  609                                        const MachineBasicBlock *Dst) const;
  611   void addSuccessorWithProb(MachineBasicBlock *Src, MachineBasicBlock *Dst,
  611   void addSuccessorWithProb(MachineBasicBlock *Src, MachineBasicBlock *Dst,
include/llvm/CodeGen/GlobalISel/Localizer.h
   59                          MachineBasicBlock *&InsertMBB);
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
   50   MachineBasicBlock *MBB;
   51   MachineBasicBlock::iterator II;
  278   const MachineBasicBlock &getMBB() const {
  283   MachineBasicBlock &getMBB() {
  292   MachineBasicBlock::iterator getInsertPt() { return State.II; }
  297   void setInsertPt(MachineBasicBlock &MBB, MachineBasicBlock::iterator II);
  297   void setInsertPt(MachineBasicBlock &MBB, MachineBasicBlock::iterator II);
  309   void setMBB(MachineBasicBlock &MBB);
  622   MachineInstrBuilder buildBr(MachineBasicBlock &Dest);
  636   MachineInstrBuilder buildBrCond(Register Tst, MachineBasicBlock &Dest);
include/llvm/CodeGen/GlobalISel/RegBankSelect.h
  129     virtual MachineBasicBlock &getInsertMBBImpl() = 0;
  135     virtual MachineBasicBlock::iterator getPointImpl() = 0;
  148     MachineBasicBlock::iterator getPoint() {
  167     MachineBasicBlock &getInsertMBB() {
  179     MachineBasicBlock::iterator insert(MachineInstr &MI) {
  213     MachineBasicBlock::iterator getPointImpl() override {
  220     MachineBasicBlock &getInsertMBBImpl() override {
  239     MachineBasicBlock &MBB;
  247     MachineBasicBlock::iterator getPointImpl() override {
  251     MachineBasicBlock &getInsertMBBImpl() override { return MBB; }
  254     MBBInsertPoint(MachineBasicBlock &MBB, bool Beginning = true)
  275     MachineBasicBlock &Src;
  280     MachineBasicBlock *DstOrSplit;
  287     MachineBasicBlock::iterator getPointImpl() override {
  297     MachineBasicBlock &getInsertMBBImpl() override { return *DstOrSplit; }
  300     EdgeInsertPoint(MachineBasicBlock &Src, MachineBasicBlock &Dst, Pass &P)
  300     EdgeInsertPoint(MachineBasicBlock &Src, MachineBasicBlock &Dst, Pass &P)
  370     void addInsertPoint(MachineBasicBlock &MBB, bool Beginning);
  374     void addInsertPoint(MachineBasicBlock &Src, MachineBasicBlock &Dst);
  374     void addInsertPoint(MachineBasicBlock &Src, MachineBasicBlock &Dst);
include/llvm/CodeGen/LexicalScopes.h
  164                              SmallPtrSetImpl<const MachineBasicBlock *> &MBBs);
  168   bool dominates(const DILocation *DL, MachineBasicBlock *MBB);
include/llvm/CodeGen/LiveIntervals.h
  112                                 const MachineBasicBlock *MBB);
  236     SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const {
  241     SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const {
  246                        const MachineBasicBlock *mbb) const {
  251                         const MachineBasicBlock *mbb) const {
  255     MachineBasicBlock* getMBBFromIndex(SlotIndex index) const {
  259     void insertMBBInMaps(MachineBasicBlock *MBB) {
  270     void InsertMachineInstrRangeInMaps(MachineBasicBlock::iterator B,
  272       for (MachineBasicBlock::iterator I = B; I != E; ++I)
  297     MachineBasicBlock *intervalIsInOneMBB(const LiveInterval &LI) const;
  333     void repairIntervalsInRange(MachineBasicBlock *MBB,
  334                                 MachineBasicBlock::iterator Begin,
  483     void repairOldRegInRange(MachineBasicBlock::iterator Begin,
include/llvm/CodeGen/LivePhysRegs.h
  134   void addLiveIns(const MachineBasicBlock &MBB);
  140   void addLiveOuts(const MachineBasicBlock &MBB);
  144   void addLiveOutsNoPristines(const MachineBasicBlock &MBB);
  160   void addBlockLiveIns(const MachineBasicBlock &MBB);
  175 void computeLiveIns(LivePhysRegs &LiveRegs, const MachineBasicBlock &MBB);
  178 void recomputeLivenessFlags(MachineBasicBlock &MBB);
  182 void addLiveIns(MachineBasicBlock &MBB, const LivePhysRegs &LiveRegs);
  186                           MachineBasicBlock &MBB);
  189 static inline void recomputeLiveIns(MachineBasicBlock &MBB) {
include/llvm/CodeGen/LiveRangeCalc.h
   42 using MachineDomTreeNode = DomTreeNodeBase<MachineBasicBlock>;
  129                     MachineBasicBlock &MBB, BitVector &DefOnEntry,
  148   bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, SlotIndex Use,
  255   void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) {
  288   static bool isJointlyDominated(const MachineBasicBlock *MBB,
include/llvm/CodeGen/LiveRangeEdit.h
  219   SlotIndex rematerializeAt(MachineBasicBlock &MBB,
  220                             MachineBasicBlock::iterator MI, unsigned DestReg,
include/llvm/CodeGen/LiveRegUnits.h
  139   void addLiveOuts(const MachineBasicBlock &MBB);
  142   void addLiveIns(const MachineBasicBlock &MBB);
include/llvm/CodeGen/LiveVariables.h
  102     MachineInstr *findKill(const MachineBasicBlock *MBB) const;
  107     bool isLiveIn(const MachineBasicBlock &MBB,
  179   void runOnBlock(MachineBasicBlock *MBB, unsigned NumRegs);
  274   void MarkVirtRegAliveInBlock(VarInfo& VRInfo, MachineBasicBlock* DefBlock,
  275                                MachineBasicBlock *BB);
  276   void MarkVirtRegAliveInBlock(VarInfo& VRInfo, MachineBasicBlock* DefBlock,
  277                                MachineBasicBlock *BB,
  278                                std::vector<MachineBasicBlock*> &WorkList);
  280   void HandleVirtRegUse(unsigned reg, MachineBasicBlock *MBB, MachineInstr &MI);
  282   bool isLiveIn(unsigned Reg, const MachineBasicBlock &MBB) {
  289   bool isLiveOut(unsigned Reg, const MachineBasicBlock &MBB);
  295   void addNewBlock(MachineBasicBlock *BB,
  296                    MachineBasicBlock *DomBB,
  297                    MachineBasicBlock *SuccBB);
include/llvm/CodeGen/LoopTraversal.h
   89     MachineBasicBlock *MBB = nullptr;
   97     TraversedMBBInfo(MachineBasicBlock *BB = nullptr, bool Primary = true,
  110   bool isBlockDone(MachineBasicBlock *MBB);
include/llvm/CodeGen/MIRParser/MIParser.h
  166   DenseMap<unsigned, MachineBasicBlock *> MBBSlots;
  211                        MachineBasicBlock *&MBB, StringRef Src,
include/llvm/CodeGen/MIRPrinter.h
   39 void guessSuccessors(const MachineBasicBlock &MBB,
   40                      SmallVectorImpl<MachineBasicBlock*> &Result,
include/llvm/CodeGen/MachineBasicBlock.h
   52   MachineBasicBlock *Parent;
   66     : public ilist_node_with_parent<MachineBasicBlock, MachineFunction> {
   89   std::vector<MachineBasicBlock *> Predecessors;
   90   std::vector<MachineBasicBlock *> Successors;
  233     return &MachineBasicBlock::Insts;
  252   using pred_iterator = std::vector<MachineBasicBlock *>::iterator;
  253   using const_pred_iterator = std::vector<MachineBasicBlock *>::const_iterator;
  254   using succ_iterator = std::vector<MachineBasicBlock *>::iterator;
  255   using const_succ_iterator = std::vector<MachineBasicBlock *>::const_iterator;
  257       std::vector<MachineBasicBlock *>::reverse_iterator;
  259       std::vector<MachineBasicBlock *>::const_reverse_iterator;
  261       std::vector<MachineBasicBlock *>::reverse_iterator;
  263       std::vector<MachineBasicBlock *>::const_reverse_iterator;
  419   void moveBefore(MachineBasicBlock *NewAfter);
  420   void moveAfter(MachineBasicBlock *NewBefore);
  438   void addSuccessor(MachineBasicBlock *Succ,
  445   void addSuccessorWithoutProb(MachineBasicBlock *Succ);
  467   void removeSuccessor(MachineBasicBlock *Succ,
  479   void replaceSuccessor(MachineBasicBlock *Old, MachineBasicBlock *New);
  479   void replaceSuccessor(MachineBasicBlock *Old, MachineBasicBlock *New);
  486   void copySuccessor(MachineBasicBlock *Orig, succ_iterator I);
  490   void splitSuccessor(MachineBasicBlock *Old, MachineBasicBlock *New,
  490   void splitSuccessor(MachineBasicBlock *Old, MachineBasicBlock *New,
  496   void transferSuccessors(MachineBasicBlock *FromMBB);
  500   void transferSuccessorsAndUpdatePHIs(MachineBasicBlock *FromMBB);
  506   bool isPredecessor(const MachineBasicBlock *MBB) const;
  509   bool isSuccessor(const MachineBasicBlock *MBB) const;
  516   bool isLayoutSuccessor(const MachineBasicBlock *MBB) const;
  523   MachineBasicBlock *getFallThrough();
  591   MachineBasicBlock *SplitCriticalEdge(MachineBasicBlock *Succ, Pass &P);
  591   MachineBasicBlock *SplitCriticalEdge(MachineBasicBlock *Succ, Pass &P);
  597   bool canSplitCriticalEdge(const MachineBasicBlock *Succ) const;
  708   void splice(iterator Where, MachineBasicBlock *Other, iterator From) {
  719   void splice(iterator Where, MachineBasicBlock *Other,
  727   MachineBasicBlock *removeFromParent();
  734   void ReplaceUsesOfBlockWith(MachineBasicBlock *Old, MachineBasicBlock *New);
  734   void ReplaceUsesOfBlockWith(MachineBasicBlock *Old, MachineBasicBlock *New);
  738   void replacePhiUsesWith(MachineBasicBlock *Old, MachineBasicBlock *New);
  738   void replacePhiUsesWith(MachineBasicBlock *Old, MachineBasicBlock *New);
  746   bool CorrectExtraCFGEdges(MachineBasicBlock *DestA,
  747                             MachineBasicBlock *DestB,
  836   void addPredecessor(MachineBasicBlock *Pred);
  841   void removePredecessor(MachineBasicBlock *Pred);
  844 raw_ostream& operator<<(raw_ostream &OS, const MachineBasicBlock &MBB);
  852 Printable printMBBReference(const MachineBasicBlock &MBB);
  856   using argument_type = const MachineBasicBlock *;
  857   unsigned operator()(const MachineBasicBlock *MBB) const {
  871   using NodeRef = MachineBasicBlock *;
  872   using ChildIteratorType = MachineBasicBlock::succ_iterator;
  874   static NodeRef getEntryNode(MachineBasicBlock *BB) { return BB; }
  880   using NodeRef = const MachineBasicBlock *;
  881   using ChildIteratorType = MachineBasicBlock::const_succ_iterator;
  883   static NodeRef getEntryNode(const MachineBasicBlock *BB) { return BB; }
  895   using NodeRef = MachineBasicBlock *;
  896   using ChildIteratorType = MachineBasicBlock::pred_iterator;
  898   static NodeRef getEntryNode(Inverse<MachineBasicBlock *> G) {
  907   using NodeRef = const MachineBasicBlock *;
  908   using ChildIteratorType = MachineBasicBlock::const_pred_iterator;
  910   static NodeRef getEntryNode(Inverse<const MachineBasicBlock *> G) {
  923   MachineBasicBlock &MBB;
  924   MachineBasicBlock::iterator I, B, E;
  927   MachineInstrSpan(MachineBasicBlock::iterator I, MachineBasicBlock *BB)
  927   MachineInstrSpan(MachineBasicBlock::iterator I, MachineBasicBlock *BB)
  933   MachineBasicBlock::iterator begin() {
  936   MachineBasicBlock::iterator end() { return E; }
  939   MachineBasicBlock::iterator getInitial() { return I; }
include/llvm/CodeGen/MachineBlockFrequencyInfo.h
   34   using ImplType = BlockFrequencyInfoImpl<MachineBasicBlock>;
   62   BlockFrequency getBlockFreq(const MachineBasicBlock *MBB) const;
   64   Optional<uint64_t> getBlockProfileCount(const MachineBasicBlock *MBB) const;
   67   bool isIrrLoopHeader(const MachineBasicBlock *MBB);
   80                               const MachineBasicBlock *MBB) const;
include/llvm/CodeGen/MachineBranchProbabilityInfo.h
   48   BranchProbability getEdgeProbability(const MachineBasicBlock *Src,
   49                                        const MachineBasicBlock *Dst) const;
   54   getEdgeProbability(const MachineBasicBlock *Src,
   55                      MachineBasicBlock::const_succ_iterator Dst) const;
   58   bool isEdgeHot(const MachineBasicBlock *Src,
   59                  const MachineBasicBlock *Dst) const;
   63   MachineBasicBlock *getHotSucc(MachineBasicBlock *MBB) const;
   63   MachineBasicBlock *getHotSucc(MachineBasicBlock *MBB) const;
   69                                     const MachineBasicBlock *Src,
   70                                     const MachineBasicBlock *Dst) const;
include/llvm/CodeGen/MachineDominanceFrontier.h
   22   ForwardDominanceFrontierBase<MachineBasicBlock> Base;
   25  using DomTreeT = DomTreeBase<MachineBasicBlock>;
   26  using DomTreeNodeT = DomTreeNodeBase<MachineBasicBlock>;
   27  using DomSetType = DominanceFrontierBase<MachineBasicBlock, false>::DomSetType;
   28  using iterator = DominanceFrontierBase<MachineBasicBlock, false>::iterator;
   30      DominanceFrontierBase<MachineBasicBlock, false>::const_iterator;
   39  ForwardDominanceFrontierBase<MachineBasicBlock> &getBase() { return Base; }
   41  const SmallVectorImpl<MachineBasicBlock *> &getRoots() const {
   45   MachineBasicBlock *getRoot() const {
   69   iterator find(MachineBasicBlock *B) {
   73   const_iterator find(MachineBasicBlock *B) const {
   77   iterator addBasicBlock(MachineBasicBlock *BB, const DomSetType &frontier) {
   81   void removeBlock(MachineBasicBlock *BB) {
   85   void addToFrontier(iterator I, MachineBasicBlock *Node) {
   89   void removeFromFrontier(iterator I, MachineBasicBlock *Node) {
   97   bool compare(DominanceFrontierBase<MachineBasicBlock, false> &Other) const {
include/llvm/CodeGen/MachineDominators.h
   32     MachineBasicBlock *MBB) {
   40 using MachineDomTreeNode = DomTreeNodeBase<MachineBasicBlock>;
   47   using DomTreeT = DomTreeBase<MachineBasicBlock>;
   52     MachineBasicBlock *FromBB;
   53     MachineBasicBlock *ToBB;
   54     MachineBasicBlock *NewBB;
   68   mutable SmallSet<MachineBasicBlock *, 32> NewBBs;
  100   const SmallVectorImpl<MachineBasicBlock*> &getRoots() const {
  105   MachineBasicBlock *getRoot() const {
  125   bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const {
  125   bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const {
  134     const MachineBasicBlock *BBA = A->getParent(), *BBB = B->getParent();
  138     MachineBasicBlock::const_iterator I = BBA->begin();
  151   bool properlyDominates(const MachineBasicBlock *A,
  152                          const MachineBasicBlock *B) const {
  159   MachineBasicBlock *findNearestCommonDominator(MachineBasicBlock *A,
  159   MachineBasicBlock *findNearestCommonDominator(MachineBasicBlock *A,
  160                                                 MachineBasicBlock *B) {
  165   MachineDomTreeNode *operator[](MachineBasicBlock *BB) const {
  173   MachineDomTreeNode *getNode(MachineBasicBlock *BB) const {
  181   MachineDomTreeNode *addNewBlock(MachineBasicBlock *BB,
  182                                   MachineBasicBlock *DomBB) {
  190   void changeImmediateDominator(MachineBasicBlock *N,
  191                                 MachineBasicBlock *NewIDom) {
  205   void eraseNode(MachineBasicBlock *BB) {
  212   void splitBlock(MachineBasicBlock* NewBB) {
  219   bool isReachableFromEntry(const MachineBasicBlock *A) {
  242   void recordSplitCriticalEdge(MachineBasicBlock *FromBB,
  243                               MachineBasicBlock *ToBB,
  244                               MachineBasicBlock *NewBB) {
include/llvm/CodeGen/MachineFrameInfo.h
  334   MachineBasicBlock *Save = nullptr;
  336   MachineBasicBlock *Restore = nullptr;
  789   MachineBasicBlock *getSavePoint() const { return Save; }
  790   void setSavePoint(MachineBasicBlock *NewSave) { Save = NewSave; }
  791   MachineBasicBlock *getRestorePoint() const { return Restore; }
  792   void setRestorePoint(MachineBasicBlock *NewRestore) { Restore = NewRestore; }
include/llvm/CodeGen/MachineFunction.h
   77   void deleteNode(MachineBasicBlock *MBB);
   81   void addNodeToList(MachineBasicBlock* N);
   82   void removeNodeFromList(MachineBasicBlock* N);
  212   MachineBasicBlock *LandingPadBlock;      // Landing pad block.
  219   explicit LandingPadInfo(MachineBasicBlock *MBB)
  257   std::vector<MachineBasicBlock*> MBBNumbering;
  269   Recycler<MachineBasicBlock> BasicBlockRecycler;
  272   using BasicBlockListType = ilist<MachineBasicBlock>;
  321   DenseMap<const MachineBasicBlock *, unsigned> WasmLPadToIndexMap;
  586   MachineBasicBlock *getBlockNumbered(unsigned N) const {
  603   void RenumberBlocks(MachineBasicBlock *MBBFrom = nullptr);
  663   const MachineBasicBlock &front() const { return BasicBlocks.front(); }
  664         MachineBasicBlock &front()       { return BasicBlocks.front(); }
  665   const MachineBasicBlock & back() const { return BasicBlocks.back(); }
  666         MachineBasicBlock & back()       { return BasicBlocks.back(); }
  668   void push_back (MachineBasicBlock *MBB) { BasicBlocks.push_back (MBB); }
  669   void push_front(MachineBasicBlock *MBB) { BasicBlocks.push_front(MBB); }
  684   void remove(MachineBasicBlock *MBBI) { BasicBlocks.remove(MBBI); }
  686   void erase(MachineBasicBlock *MBBI) { BasicBlocks.erase(MBBI); }
  696     for (const MachineBasicBlock &MBB : BasicBlocks)
  706   unsigned addToMBBNumbering(MachineBasicBlock *MBB) {
  738   MachineInstr &CloneMachineInstrBundle(MachineBasicBlock &MBB,
  739       MachineBasicBlock::iterator InsertBefore, const MachineInstr &Orig);
  746   MachineBasicBlock *CreateMachineBasicBlock(const BasicBlock *bb = nullptr);
  749   void DeleteMachineBasicBlock(MachineBasicBlock *MBB);
  859   LandingPadInfo &getOrCreateLandingPadInfo(MachineBasicBlock *LandingPad);
  872   void addInvoke(MachineBasicBlock *LandingPad,
  878   MCSymbol *addLandingPad(MachineBasicBlock *LandingPad);
  881   void addCatchTypeInfo(MachineBasicBlock *LandingPad,
  885   void addFilterTypeInfo(MachineBasicBlock *LandingPad,
  889   void addCleanup(MachineBasicBlock *LandingPad);
  891   void addSEHCatchHandler(MachineBasicBlock *LandingPad, const Function *Filter,
  894   void addSEHCleanupHandler(MachineBasicBlock *LandingPad,
  907   void setWasmLandingPadIndex(const MachineBasicBlock *LPad, unsigned Index) {
  912   bool hasWasmLandingPadIndex(const MachineBasicBlock *LPad) const {
  917   unsigned getWasmLandingPadIndex(const MachineBasicBlock *LPad) const {
 1024   public GraphTraits<MachineBasicBlock*> {
 1041   public GraphTraits<const MachineBasicBlock*> {
 1066   public GraphTraits<Inverse<MachineBasicBlock*>> {
 1072   public GraphTraits<Inverse<const MachineBasicBlock*>> {
include/llvm/CodeGen/MachineInstr.h
   64     : public ilist_node_with_parent<MachineInstr, MachineBasicBlock,
  113   MachineBasicBlock *Parent = nullptr;  // Pointer to the owning basic block.
  250   void setParent(MachineBasicBlock *P) { Parent = P; }
  271   const MachineBasicBlock* getParent() const { return Parent; }
  272   MachineBasicBlock* getParent() { return Parent; }
include/llvm/CodeGen/MachineInstrBuilder.h
   70   MachineInstrBuilder(MachineFunction &F, MachineBasicBlock::iterator I)
   76   operator MachineBasicBlock::iterator() const { return MI; }
  137   const MachineInstrBuilder &addMBB(MachineBasicBlock *MBB,
  332 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
  333                                    MachineBasicBlock::iterator I,
  348 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
  349                                    MachineBasicBlock::instr_iterator I,
  358 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB, MachineInstr &I,
  368 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB, MachineInstr *I,
  377 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
  378                                    MachineBasicBlock::iterator I,
  387 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
  388                                    MachineBasicBlock::instr_iterator I,
  397 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB, MachineInstr &I,
  407 inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB, MachineInstr *I,
  415 inline MachineInstrBuilder BuildMI(MachineBasicBlock *BB, const DebugLoc &DL,
  423 inline MachineInstrBuilder BuildMI(MachineBasicBlock *BB, const DebugLoc &DL,
  447 MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
  448                             MachineBasicBlock::iterator I, const DebugLoc &DL,
  455 MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
  456                             MachineBasicBlock::iterator I, const DebugLoc &DL,
  462 MachineInstr *buildDbgValueForSpill(MachineBasicBlock &BB,
  463                                     MachineBasicBlock::iterator I,
  513   MachineBasicBlock &MBB;
  514   MachineBasicBlock::instr_iterator Begin;
  515   MachineBasicBlock::instr_iterator End;
  520   MIBundleBuilder(MachineBasicBlock &BB, MachineBasicBlock::iterator Pos)
  520   MIBundleBuilder(MachineBasicBlock &BB, MachineBasicBlock::iterator Pos)
  524   MIBundleBuilder(MachineBasicBlock &BB, MachineBasicBlock::iterator B,
  524   MIBundleBuilder(MachineBasicBlock &BB, MachineBasicBlock::iterator B,
  525                   MachineBasicBlock::iterator E)
  543   MachineBasicBlock &getMBB() const { return MBB; }
  550   MachineBasicBlock::instr_iterator begin() const { return Begin; }
  553   MachineBasicBlock::instr_iterator end() const { return End; }
  557   MIBundleBuilder &insert(MachineBasicBlock::instr_iterator I,
include/llvm/CodeGen/MachineInstrBundle.h
   27 void finalizeBundle(MachineBasicBlock &MBB,
   28                     MachineBasicBlock::instr_iterator FirstMI,
   36 MachineBasicBlock::instr_iterator finalizeBundle(MachineBasicBlock &MBB,
   44 inline MachineBasicBlock::instr_iterator getBundleStart(
   52 inline MachineBasicBlock::const_instr_iterator getBundleStart(
   60 inline MachineBasicBlock::instr_iterator getBundleEnd(
   69 inline MachineBasicBlock::const_instr_iterator getBundleEnd(
   94   MachineBasicBlock::instr_iterator InstrI, InstrE;
include/llvm/CodeGen/MachineJumpTableInfo.h
   36   std::vector<MachineBasicBlock*> MBBs;
   38   explicit MachineJumpTableEntry(const std::vector<MachineBasicBlock*> &M)
   93   unsigned createJumpTableIndex(const std::vector<MachineBasicBlock*> &DestBBs);
  111   bool ReplaceMBBInJumpTables(MachineBasicBlock *Old, MachineBasicBlock *New);
  111   bool ReplaceMBBInJumpTables(MachineBasicBlock *Old, MachineBasicBlock *New);
  115   bool ReplaceMBBInJumpTable(unsigned Idx, MachineBasicBlock *Old,
  116                              MachineBasicBlock *New);
include/llvm/CodeGen/MachineLoopInfo.h
   45 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
   50   MachineBasicBlock *getTopBlock();
   55   MachineBasicBlock *getBottomBlock();
   61   MachineBasicBlock *findLoopControlBlock();
   75   explicit MachineLoop(MachineBasicBlock *MBB)
   87   LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
  102   LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; }
  109   MachineBasicBlock *findLoopPreheader(MachineLoop *L,
  113   using iterator = LoopInfoBase<MachineBasicBlock, MachineLoop>::iterator;
  120   inline MachineLoop *getLoopFor(const MachineBasicBlock *BB) const {
  125   inline const MachineLoop *operator[](const MachineBasicBlock *BB) const {
  130   inline unsigned getLoopDepth(const MachineBasicBlock *BB) const {
  135   inline bool isLoopHeader(const MachineBasicBlock *BB) const {
  154   inline void changeLoopFor(MachineBasicBlock *BB, MachineLoop *L) {
  172   void removeBlock(MachineBasicBlock *BB) {
include/llvm/CodeGen/MachineLoopUtils.h
   34 MachineBasicBlock *PeelSingleBlockLoop(LoopPeelDirection Direction,
   35                                        MachineBasicBlock *Loop,
include/llvm/CodeGen/MachineOperand.h
  167     MachineBasicBlock *MBB;  // For MO_MachineBasicBlock.
  545   MachineBasicBlock *getMBB() const {
  682   void setMBB(MachineBasicBlock *MBB) {
  799   static MachineOperand CreateMBB(MachineBasicBlock *MBB,
include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
   33                                 const MachineBasicBlock *MBB)
   49   const MachineBasicBlock *getBlock() const { return MBB; }
   52   const MachineBasicBlock *MBB;
   65                             const MachineBasicBlock *MBB)
   91                                   const MachineBasicBlock *MBB)
  117                                     const MachineBasicBlock *MBB)
  193   Optional<uint64_t> computeHotness(const MachineBasicBlock &MBB);
include/llvm/CodeGen/MachineOutliner.h
   46   MachineBasicBlock::iterator FirstInst;
   49   MachineBasicBlock::iterator LastInst;
   52   MachineBasicBlock *MBB;
  106   MachineBasicBlock::iterator &front() { return FirstInst; }
  107   MachineBasicBlock::iterator &back() { return LastInst; }
  109   MachineBasicBlock *getMBB() const { return MBB; }
  121             MachineBasicBlock::iterator &FirstInst,
include/llvm/CodeGen/MachinePipeliner.h
   76     MachineBasicBlock *TBB = nullptr;
   77     MachineBasicBlock *FBB = nullptr;
  102   void preprocessPhiNodes(MachineBasicBlock &B);
  145   using MBBVectorTy = SmallVectorImpl<MachineBasicBlock *>;
include/llvm/CodeGen/MachinePostDominators.h
   28   using PostDomTreeT = PostDomTreeBase<MachineBasicBlock>;
   38   const SmallVectorImpl<MachineBasicBlock *> &getRoots() const {
   44   MachineDomTreeNode *operator[](MachineBasicBlock *BB) const {
   48   MachineDomTreeNode *getNode(MachineBasicBlock *BB) const {
   57   bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const {
   57   bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const {
   66   bool properlyDominates(const MachineBasicBlock *A,
   67                          const MachineBasicBlock *B) const {
   75   MachineBasicBlock *findNearestCommonDominator(MachineBasicBlock *A,
   75   MachineBasicBlock *findNearestCommonDominator(MachineBasicBlock *A,
   76                                                 MachineBasicBlock *B) const {
   82   MachineBasicBlock *
   83   findNearestCommonDominator(ArrayRef<MachineBasicBlock *> Blocks) const;
include/llvm/CodeGen/MachineRegionInfo.h
   32   using BlockT = MachineBasicBlock;
   44   static unsigned getNumSuccessors(MachineBasicBlock *BB) {
   51   inline MachineRegionNode(MachineRegion *Parent, MachineBasicBlock *Entry,
   63   MachineRegion(MachineBasicBlock *Entry, MachineBasicBlock *Exit,
   63   MachineRegion(MachineBasicBlock *Entry, MachineBasicBlock *Exit,
  111 inline MachineBasicBlock *
  112 RegionNodeBase<RegionTraits<MachineFunction>>::getNodeAs<MachineBasicBlock>()
include/llvm/CodeGen/MachineRegisterInfo.h
  954   void EmitLiveInCopies(MachineBasicBlock *EntryMBB,
 1036         MachineBasicBlock::instr_iterator P =
 1142         MachineBasicBlock::instr_iterator P =
include/llvm/CodeGen/MachineSSAUpdater.h
   69   void AddAvailableValue(MachineBasicBlock *BB, unsigned V);
   73   bool HasValueForBlock(MachineBasicBlock *BB) const;
   77   unsigned GetValueAtEndOfBlock(MachineBasicBlock *BB);
   97   unsigned GetValueInMiddleOfBlock(MachineBasicBlock *BB);
  107   unsigned GetValueAtEndOfBlockInternal(MachineBasicBlock *BB);
include/llvm/CodeGen/MachineScheduler.h
  204   virtual void initPolicy(MachineBasicBlock::iterator Begin,
  228   virtual void enterMBB(MachineBasicBlock *MBB) {};
  272   MachineBasicBlock::iterator CurrentTop;
  275   MachineBasicBlock::iterator CurrentBottom;
  319   MachineBasicBlock::iterator top() const { return CurrentTop; }
  320   MachineBasicBlock::iterator bottom() const { return CurrentBottom; }
  325   void enterRegion(MachineBasicBlock *bb,
  326                    MachineBasicBlock::iterator begin,
  334   void startBlock(MachineBasicBlock *bb) override;
  339   void moveInstruction(MachineInstr *MI, MachineBasicBlock::iterator InsertPos);
  390   MachineBasicBlock::iterator LiveRegionEnd;
  472   void enterRegion(MachineBasicBlock *bb,
  473                    MachineBasicBlock::iterator begin,
  934   void initPolicy(MachineBasicBlock::iterator Begin,
 1022   void initPolicy(MachineBasicBlock::iterator Begin,
include/llvm/CodeGen/MachineSizeOpts.h
   31 bool shouldOptimizeForSize(const MachineBasicBlock *MBB,
include/llvm/CodeGen/MachineTraceMetrics.h
  130   const FixedBlockInfo *getResources(const MachineBasicBlock*);
  158     const MachineBasicBlock *Pred = nullptr;
  162     const MachineBasicBlock *Succ = nullptr;
  287         ArrayRef<const MachineBasicBlock *> Extrablocks = None,
  329     void computeTrace(const MachineBasicBlock*);
  330     void computeDepthResources(const MachineBasicBlock*);
  331     void computeHeightResources(const MachineBasicBlock*);
  333     void computeInstrDepths(const MachineBasicBlock*);
  334     void computeInstrHeights(const MachineBasicBlock*);
  336                     ArrayRef<const MachineBasicBlock*> Trace);
  343     virtual const MachineBasicBlock *pickTracePred(const MachineBasicBlock*) =0;
  343     virtual const MachineBasicBlock *pickTracePred(const MachineBasicBlock*) =0;
  344     virtual const MachineBasicBlock *pickTraceSucc(const MachineBasicBlock*) =0;
  344     virtual const MachineBasicBlock *pickTraceSucc(const MachineBasicBlock*) =0;
  345     const MachineLoop *getLoopFor(const MachineBasicBlock*) const;
  346     const TraceBlockInfo *getDepthResources(const MachineBasicBlock*) const;
  347     const TraceBlockInfo *getHeightResources(const MachineBasicBlock*) const;
  356     void invalidate(const MachineBasicBlock *MBB);
  361     Trace getTrace(const MachineBasicBlock *MBB);
  366     void updateDepth(const MachineBasicBlock *, const MachineInstr&,
  370     void updateDepths(MachineBasicBlock::iterator Start,
  397   void invalidate(const MachineBasicBlock *MBB);
include/llvm/CodeGen/ModuloSchedule.h
  159   using MBBVectorTy = SmallVectorImpl<MachineBasicBlock *>;
  169   MachineBasicBlock *BB;
  170   MachineBasicBlock *Preheader;
  171   MachineBasicBlock *NewKernel = nullptr;
  184   void generateProlog(unsigned LastStage, MachineBasicBlock *KernelBB,
  186   void generateEpilog(unsigned LastStage, MachineBasicBlock *KernelBB,
  189   void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
  189   void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
  190                             MachineBasicBlock *BB2, MachineBasicBlock *KernelBB,
  190                             MachineBasicBlock *BB2, MachineBasicBlock *KernelBB,
  194   void generatePhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
  194   void generatePhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
  195                     MachineBasicBlock *BB2, MachineBasicBlock *KernelBB,
  195                     MachineBasicBlock *BB2, MachineBasicBlock *KernelBB,
  198   void removeDeadInstructions(MachineBasicBlock *KernelBB,
  200   void splitLifetimes(MachineBasicBlock *KernelBB, MBBVectorTy &EpilogBBs);
  201   void addBranches(MachineBasicBlock &PreheaderBB, MBBVectorTy &PrologBBs,
  202                    MachineBasicBlock *KernelBB, MBBVectorTy &EpilogBBs,
  217                          MachineBasicBlock *BB);
  218   void rewritePhiValues(MachineBasicBlock *NewBB, unsigned StageNum,
  220   void rewriteScheduledInstr(MachineBasicBlock *BB, InstrMapTy &InstrMap,
  268   MachineBasicBlock *getRewrittenKernel() { return NewKernel; }
  282   MachineBasicBlock *BB;
  284   MachineBasicBlock *Preheader;
  286   SmallVector<MachineBasicBlock *, 4> Prologs, Epilogs;
  288   DenseMap<MachineBasicBlock *, BitVector> LiveStages;
  292   DenseMap<MachineBasicBlock *, BitVector> AvailableStages;
  297   DenseMap<std::pair<MachineBasicBlock *, MachineInstr *>, MachineInstr *>
  301   std::deque<MachineBasicBlock *> PeeledFront, PeeledBack;
  323   MachineBasicBlock *peelKernel(LoopPeelDirection LPD);
  329   Register getEquivalentRegisterIn(Register Reg, MachineBasicBlock *BB);
  338   MachineBasicBlock *CreateLCSSAExitingBlock();
include/llvm/CodeGen/RegisterPressure.h
   85   MachineBasicBlock::const_iterator TopPos;
   86   MachineBasicBlock::const_iterator BottomPos;
   90   void openTop(MachineBasicBlock::const_iterator PrevTop);
   92   void openBottom(MachineBasicBlock::const_iterator PrevBottom);
  366   const MachineBasicBlock *MBB = nullptr;
  384   MachineBasicBlock::const_iterator CurrPos;
  404             const LiveIntervals *lis, const MachineBasicBlock *mbb,
  405             MachineBasicBlock::const_iterator pos,
  414   MachineBasicBlock::const_iterator getPos() const { return CurrPos; }
  420   void setPos(MachineBasicBlock::const_iterator Pos) { CurrPos = Pos; }
include/llvm/CodeGen/RegisterScavenging.h
   38   MachineBasicBlock *MBB = nullptr;
   39   MachineBasicBlock::iterator MBBI;
   74   void enterBasicBlock(MachineBasicBlock &MBB);
   80   void enterBasicBlockEnd(MachineBasicBlock &MBB);
   87   void forward(MachineBasicBlock::iterator I) {
   97   void unprocess(MachineBasicBlock::iterator I) {
  107   void backward(MachineBasicBlock::iterator I) {
  113   void skipTo(MachineBasicBlock::iterator I) {
  119   MachineBasicBlock::iterator getCurrentPosition() const { return MBBI; }
  164                             MachineBasicBlock::iterator I, int SPAdj,
  181                                      MachineBasicBlock::iterator To,
  215   Register findSurvivorReg(MachineBasicBlock::iterator StartMI,
  221   void init(MachineBasicBlock &MBB);
  224   void setLiveInsUsed(const MachineBasicBlock &MBB);
  229                        MachineBasicBlock::iterator Before,
include/llvm/CodeGen/ScheduleDAGInstrs.h
  145     MachineBasicBlock *BB;
  148     MachineBasicBlock::iterator RegionBegin;
  151     MachineBasicBlock::iterator RegionEnd;
  272     MachineBasicBlock::iterator begin() const { return RegionBegin; }
  275     MachineBasicBlock::iterator end() const { return RegionEnd; }
  289     virtual void startBlock(MachineBasicBlock *BB);
  298     virtual void enterRegion(MachineBasicBlock *bb,
  299                              MachineBasicBlock::iterator begin,
  345     void fixupKills(MachineBasicBlock &MBB);
  367     void startBlockForKills(MachineBasicBlock *BB);
include/llvm/CodeGen/SelectionDAG.h
  674   SDValue getBasicBlock(MachineBasicBlock *MBB);
  675   SDValue getBasicBlock(MachineBasicBlock *MBB, SDLoc dl);
include/llvm/CodeGen/SelectionDAGNodes.h
 1907   MachineBasicBlock *MBB;
 1912   explicit BasicBlockSDNode(MachineBasicBlock *mbb)
 1917   MachineBasicBlock *getBasicBlock() const { return MBB; }
include/llvm/CodeGen/SlotIndexes.h
  309   using IdxMBBPair = std::pair<SlotIndex, MachineBasicBlock *>;
  368     void repairIndexesInRange(MachineBasicBlock *MBB,
  369                               MachineBasicBlock::iterator Begin,
  426       const MachineBasicBlock *MBB = MI.getParent();
  428       MachineBasicBlock::const_iterator I = MI, B = MBB->begin();
  443       const MachineBasicBlock *MBB = MI.getParent();
  445       MachineBasicBlock::const_iterator I = MI, E = MBB->end();
  464     getMBBRange(const MachineBasicBlock *MBB) const {
  474     SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const {
  484     SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const {
  517     MachineBasicBlock* getMBBFromIndex(SlotIndex index) const {
  606     void insertMBBInMaps(MachineBasicBlock *mbb) {
include/llvm/CodeGen/SwiftErrorValueTracking.h
   45   DenseMap<std::pair<const MachineBasicBlock *, const Value *>, Register>
   51   DenseMap<std::pair<const MachineBasicBlock *, const Value *>, Register>
   80   Register getOrCreateVReg(const MachineBasicBlock *, const Value *);
   84   void setCurrentVReg(const MachineBasicBlock *MBB, const Value *, Register);
   88   Register getOrCreateVRegDefAt(const Instruction *, const MachineBasicBlock *,
   93   Register getOrCreateVRegUseAt(const Instruction *, const MachineBasicBlock *,
  104   void preassignVRegs(MachineBasicBlock *MBB, BasicBlock::const_iterator Begin,
include/llvm/CodeGen/SwitchLoweringUtils.h
   40     MachineBasicBlock *MBB;
   47                            MachineBasicBlock *MBB, BranchProbability Prob) {
   88   MachineBasicBlock *BB = nullptr;
   93   CaseBits(uint64_t mask, MachineBasicBlock *bb, unsigned bits,
  124   MachineBasicBlock *TrueBB, *FalseBB;
  127   MachineBasicBlock *ThisBB;
  139             const Value *cmpmiddle, MachineBasicBlock *truebb,
  140             MachineBasicBlock *falsebb, MachineBasicBlock *me, SDLoc dl,
  140             MachineBasicBlock *falsebb, MachineBasicBlock *me, SDLoc dl,
  150             MachineBasicBlock *truebb, MachineBasicBlock *falsebb,
  150             MachineBasicBlock *truebb, MachineBasicBlock *falsebb,
  151             MachineBasicBlock *me, DebugLoc dl,
  166   MachineBasicBlock *MBB;
  169   MachineBasicBlock *Default;
  171   JumpTable(unsigned R, unsigned J, MachineBasicBlock *M, MachineBasicBlock *D)
  171   JumpTable(unsigned R, unsigned J, MachineBasicBlock *M, MachineBasicBlock *D)
  178   MachineBasicBlock *HeaderBB;
  182   JumpTableHeader(APInt F, APInt L, const Value *SV, MachineBasicBlock *H,
  191   MachineBasicBlock *ThisBB;
  192   MachineBasicBlock *TargetBB;
  195   BitTestCase(uint64_t M, MachineBasicBlock *T, MachineBasicBlock *Tr,
  195   BitTestCase(uint64_t M, MachineBasicBlock *T, MachineBasicBlock *Tr,
  210   MachineBasicBlock *Parent;
  211   MachineBasicBlock *Default;
  218                bool CR, MachineBasicBlock *P, MachineBasicBlock *D,
  218                bool CR, MachineBasicBlock *P, MachineBasicBlock *D,
  234   MachineBasicBlock *MBB;
  267                       MachineBasicBlock *DefaultMBB);
  271                       MachineBasicBlock *DefaultMBB, CaseCluster &JTCluster);
  282       MachineBasicBlock *Src, MachineBasicBlock *Dst,
  282       MachineBasicBlock *Src, MachineBasicBlock *Dst,
include/llvm/CodeGen/TailDuplicator.h
   52   using AvailableValsTy = std::vector<std::pair<MachineBasicBlock *, unsigned>>;
   71   static bool isSimpleBB(MachineBasicBlock *TailBB);
   72   bool shouldTailDuplicate(bool IsSimple, MachineBasicBlock &TailBB);
   75   bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
   75   bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
   84       bool IsSimple, MachineBasicBlock *MBB,
   85       MachineBasicBlock *ForcedLayoutPred,
   86       SmallVectorImpl<MachineBasicBlock*> *DuplicatedPreds = nullptr,
   87       function_ref<void(MachineBasicBlock *)> *RemovalCallback = nullptr);
   93                          MachineBasicBlock *BB);
   94   void processPHI(MachineInstr *MI, MachineBasicBlock *TailBB,
   95                   MachineBasicBlock *PredBB,
   99   void duplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB,
  100                             MachineBasicBlock *PredBB,
  103   void updateSuccessorsPHIs(MachineBasicBlock *FromBB, bool isDead,
  104                             SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  105                             SmallSetVector<MachineBasicBlock *, 8> &Succs);
  106   bool canCompletelyDuplicateBB(MachineBasicBlock &BB);
  107   bool duplicateSimpleBB(MachineBasicBlock *TailBB,
  108                          SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  112                      MachineBasicBlock *TailBB,
  113                      MachineBasicBlock *ForcedLayoutPred,
  114                      SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  116   void appendCopies(MachineBasicBlock *MBB,
  121       MachineBasicBlock *MBB,
  122       function_ref<void(MachineBasicBlock *)> *RemovalCallback = nullptr);
include/llvm/CodeGen/TargetFrameLowering.h
  177                             MachineBasicBlock &MBB) const = 0;
  179                             MachineBasicBlock &MBB) const = 0;
  183                                 MachineBasicBlock &PrologueMBB) const {}
  188                                         MachineBasicBlock &PrologueMBB) const {}
  193                                      MachineBasicBlock &PrologueMBB) const {}
  199   virtual bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  200                                          MachineBasicBlock::iterator MI,
  212   virtual bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  213                                            MachineBasicBlock::iterator MI,
  322   virtual MachineBasicBlock::iterator
  350   virtual bool canUseAsPrologue(const MachineBasicBlock &MBB) const {
  362   virtual bool canUseAsEpilogue(const MachineBasicBlock &MBB) const {
include/llvm/CodeGen/TargetInstrInfo.h
  352   virtual void reMaterialize(MachineBasicBlock &MBB,
  353                              MachineBasicBlock::iterator MI, unsigned DestReg,
  362   virtual MachineInstr &duplicate(MachineBasicBlock &MBB,
  363                                   MachineBasicBlock::iterator InsertBefore,
  536   virtual MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const {
  545   virtual unsigned insertIndirectBranch(MachineBasicBlock &MBB,
  546                                         MachineBasicBlock &NewDestBB,
  580   virtual bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  580   virtual bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  581                              MachineBasicBlock *&FBB,
  603     MachineBasicBlock *TrueDest = nullptr;
  604     MachineBasicBlock *FalseDest = nullptr;
  622   virtual bool analyzeBranchPredicate(MachineBasicBlock &MBB,
  633   virtual unsigned removeBranch(MachineBasicBlock &MBB,
  651   virtual unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  651   virtual unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  652                                 MachineBasicBlock *FBB,
  659   unsigned insertUnconditionalBranch(MachineBasicBlock &MBB,
  660                                      MachineBasicBlock *DestBB,
  686     createTripCountGreaterCondition(int TC, MachineBasicBlock &MBB,
  694     virtual void setPreheader(MachineBasicBlock *NewPreheader) = 0;
  707   analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const {
  723   virtual unsigned reduceLoopCount(MachineBasicBlock &MBB,
  724                                    MachineBasicBlock &PreHeader,
  734   virtual void ReplaceTailWithBranchTo(MachineBasicBlock::iterator Tail,
  740   virtual bool isLegalToSplitMBBAt(MachineBasicBlock &MBB,
  741                                    MachineBasicBlock::iterator MBBI) const {
  750   virtual bool isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  762   virtual bool isProfitableToIfCvt(MachineBasicBlock &TMBB, unsigned NumTCycles,
  764                                    MachineBasicBlock &FMBB, unsigned NumFCycles,
  776   virtual bool isProfitableToDupForIfCvt(MachineBasicBlock &MBB,
  806   virtual bool isProfitableToUnpredicate(MachineBasicBlock &TMBB,
  807                                          MachineBasicBlock &FMBB) const {
  828   virtual bool canInsertSelect(const MachineBasicBlock &MBB,
  850   virtual void insertSelect(MachineBasicBlock &MBB,
  851                             MachineBasicBlock::iterator I, const DebugLoc &DL,
  913   virtual void copyPhysReg(MachineBasicBlock &MBB,
  914                            MachineBasicBlock::iterator MI, const DebugLoc &DL,
  951   virtual void storeRegToStackSlot(MachineBasicBlock &MBB,
  952                                    MachineBasicBlock::iterator MI,
  963   virtual void loadRegFromStackSlot(MachineBasicBlock &MBB,
  964                                     MachineBasicBlock::iterator MI,
 1043                                        const MachineBasicBlock *MBB) const;
 1094                         MachineBasicBlock::iterator InsertPt, int FrameIndex,
 1107       MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI,
 1257   virtual void insertNoop(MachineBasicBlock &MBB,
 1258                           MachineBasicBlock::iterator MI) const;
 1285   virtual void replaceBranchWithTailCall(MachineBasicBlock &MBB,
 1327                                     const MachineBasicBlock *MBB,
 1704       MachineBasicBlock &MBB, MachineBasicBlock::iterator InsPt,
 1704       MachineBasicBlock &MBB, MachineBasicBlock::iterator InsPt,
 1713   virtual MachineInstr *createPHISourceCopy(MachineBasicBlock &MBB,
 1714                                             MachineBasicBlock::iterator InsPt,
 1732   getOutliningType(MachineBasicBlock::iterator &MIT, unsigned Flags) const {
 1739   virtual bool isMBBSafeToOutlineFrom(MachineBasicBlock &MBB,
 1745   virtual void buildOutlinedFrame(MachineBasicBlock &MBB, MachineFunction &MF,
 1754   virtual MachineBasicBlock::iterator
include/llvm/CodeGen/TargetLowering.h
 2924   MachineBasicBlock *emitPatchPoint(MachineInstr &MI,
 2925                                     MachineBasicBlock *MBB) const;
 2929   MachineBasicBlock *emitXRayCustomEvent(MachineInstr &MI,
 2930                                          MachineBasicBlock *MBB) const;
 2934   MachineBasicBlock *emitXRayTypedEvent(MachineInstr &MI,
 2935                                         MachineBasicBlock *MBB) const;
 3001                             const MachineBasicBlock * /*MBB*/, unsigned /*uid*/,
 3388   virtual void initializeSplitCSR(MachineBasicBlock *Entry) const {
 3397       MachineBasicBlock *Entry,
 3398       const SmallVectorImpl<MachineBasicBlock *> &Exits) const {
 4203   virtual MachineBasicBlock *
 4204   EmitInstrWithCustomInserter(MachineInstr &MI, MachineBasicBlock *MBB) const;
include/llvm/CodeGen/TargetRegisterInfo.h
  887   virtual void materializeFrameBaseRegister(MachineBasicBlock *MBB,
  912   virtual bool saveScavengerRegister(MachineBasicBlock &MBB,
  913                                      MachineBasicBlock::iterator I,
  914                                      MachineBasicBlock::iterator &UseMI,
  927   virtual void eliminateFrameIndex(MachineBasicBlock::iterator MI,
include/llvm/CodeGen/WasmEHFuncInfo.h
   25 using BBOrMBB = PointerUnion<const BasicBlock *, MachineBasicBlock *>;
   43   MachineBasicBlock *getEHPadUnwindDest(MachineBasicBlock *MBB) const {
   43   MachineBasicBlock *getEHPadUnwindDest(MachineBasicBlock *MBB) const {
   44     return EHPadUnwindMap.lookup(MBB).get<MachineBasicBlock *>();
   46   void setEHPadUnwindDest(MachineBasicBlock *MBB, MachineBasicBlock *Dest) {
   46   void setEHPadUnwindDest(MachineBasicBlock *MBB, MachineBasicBlock *Dest) {
   49   bool hasEHPadUnwindDest(MachineBasicBlock *MBB) const {
include/llvm/CodeGen/WinEHFuncInfo.h
   38 using MBBOrBasicBlock = PointerUnion<const BasicBlock *, MachineBasicBlock *>;
include/llvm/Support/GenericDomTree.h
   61   NodeT *TheBB;
   69   DomTreeNodeBase(NodeT *BB, DomTreeNodeBase *iDom)
   81   NodeT *getBlock() const { return TheBB; }
  103     SmallPtrSet<const NodeT *, 4> OtherChildren;
  105       const NodeT *Nd = I->getBlock();
  110       const NodeT *N = I->getBlock();
  167 raw_ostream &operator<<(raw_ostream &O, const DomTreeNodeBase<NodeT> *Node) {
  180 void PrintDomTree(const DomTreeNodeBase<NodeT> *N, raw_ostream &O,
  183   for (typename DomTreeNodeBase<NodeT>::const_iterator I = N->begin(),
  186     PrintDomTree<NodeT>(*I, O, Lev + 1);
  221   static_assert(std::is_pointer<typename GraphTraits<NodeT *>::NodeRef>::value,
  223   using NodeType = NodeT;
  224   using NodePtr = NodeT *;
  225   using ParentPtr = decltype(std::declval<NodeT *>()->getParent());
  240   SmallVector<NodeT *, IsPostDom ? 4 : 1> Roots;
  243      DenseMap<NodeT *, std::unique_ptr<DomTreeNodeBase<NodeT>>>;
  243      DenseMap<NodeT *, std::unique_ptr<DomTreeNodeBase<NodeT>>>;
  245   DomTreeNodeBase<NodeT> *RootNode = nullptr;
  284   const SmallVectorImpl<NodeT *> &getRoots() const { return Roots; }
  306       NodeT *BB = DomTreeNode.first;
  312       DomTreeNodeBase<NodeT> &MyNd = *DomTreeNode.second;
  313       DomTreeNodeBase<NodeT> &OtherNd = *OI->second;
  328   DomTreeNodeBase<NodeT> *getNode(const NodeT *BB) const {
  328   DomTreeNodeBase<NodeT> *getNode(const NodeT *BB) const {
  336   DomTreeNodeBase<NodeT> *operator[](const NodeT *BB) const {
  336   DomTreeNodeBase<NodeT> *operator[](const NodeT *BB) const {
  347   DomTreeNodeBase<NodeT> *getRootNode() { return RootNode; }
  348   const DomTreeNodeBase<NodeT> *getRootNode() const { return RootNode; }
  351   void getDescendants(NodeT *R, SmallVectorImpl<NodeT *> &Result) const {
  351   void getDescendants(NodeT *R, SmallVectorImpl<NodeT *> &Result) const {
  353     const DomTreeNodeBase<NodeT> *RN = getNode(R);
  356     SmallVector<const DomTreeNodeBase<NodeT> *, 8> WL;
  360       const DomTreeNodeBase<NodeT> *N = WL.pop_back_val();
  369   bool properlyDominates(const DomTreeNodeBase<NodeT> *A,
  370                          const DomTreeNodeBase<NodeT> *B) const {
  378   bool properlyDominates(const NodeT *A, const NodeT *B) const;
  378   bool properlyDominates(const NodeT *A, const NodeT *B) const;
  382   bool isReachableFromEntry(const NodeT *A) const {
  388   bool isReachableFromEntry(const DomTreeNodeBase<NodeT> *A) const { return A; }
  393   bool dominates(const DomTreeNodeBase<NodeT> *A,
  394                  const DomTreeNodeBase<NodeT> *B) const {
  436   bool dominates(const NodeT *A, const NodeT *B) const;
  436   bool dominates(const NodeT *A, const NodeT *B) const;
  438   NodeT *getRoot() const {
  445   NodeT *findNearestCommonDominator(NodeT *A, NodeT *B) const {
  445   NodeT *findNearestCommonDominator(NodeT *A, NodeT *B) const {
  445   NodeT *findNearestCommonDominator(NodeT *A, NodeT *B) const {
  453       NodeT &Entry = A->getParent()->front();
  458     DomTreeNodeBase<NodeT> *NodeA = getNode(A);
  459     DomTreeNodeBase<NodeT> *NodeB = getNode(B);
  474   const NodeT *findNearestCommonDominator(const NodeT *A,
  474   const NodeT *findNearestCommonDominator(const NodeT *A,
  475                                           const NodeT *B) const {
  482   bool isVirtualRoot(const DomTreeNodeBase<NodeT> *A) const {
  533   void insertEdge(NodeT *From, NodeT *To) {
  533   void insertEdge(NodeT *From, NodeT *To) {
  551   void deleteEdge(NodeT *From, NodeT *To) {
  551   void deleteEdge(NodeT *From, NodeT *To) {
  568   DomTreeNodeBase<NodeT> *addNewBlock(NodeT *BB, NodeT *DomBB) {
  568   DomTreeNodeBase<NodeT> *addNewBlock(NodeT *BB, NodeT *DomBB) {
  568   DomTreeNodeBase<NodeT> *addNewBlock(NodeT *BB, NodeT *DomBB) {
  570     DomTreeNodeBase<NodeT> *IDomNode = getNode(DomBB);
  574                 std::make_unique<DomTreeNodeBase<NodeT>>(BB, IDomNode))).get();
  582   DomTreeNodeBase<NodeT> *setNewRoot(NodeT *BB) {
  582   DomTreeNodeBase<NodeT> *setNewRoot(NodeT *BB) {
  587     DomTreeNodeBase<NodeT> *NewNode = (DomTreeNodes[BB] =
  588       std::make_unique<DomTreeNodeBase<NodeT>>(BB, nullptr)).get();
  593       NodeT *OldRoot = Roots.front();
  606   void changeImmediateDominator(DomTreeNodeBase<NodeT> *N,
  607                                 DomTreeNodeBase<NodeT> *NewIDom) {
  613   void changeImmediateDominator(NodeT *BB, NodeT *NewBB) {
  613   void changeImmediateDominator(NodeT *BB, NodeT *NewBB) {
  620   void eraseNode(NodeT *BB) {
  621     DomTreeNodeBase<NodeT> *Node = getNode(BB);
  628     DomTreeNodeBase<NodeT> *IDom = Node->getIDom();
  651   void splitBlock(NodeT *NewBB) {
  653       Split<Inverse<NodeT *>>(NewBB);
  655       Split<NodeT *>(NewBB);
  671     if (getRootNode()) PrintDomTree<NodeT>(getRootNode(), O, 1);
  689     SmallVector<std::pair<const DomTreeNodeBase<NodeT> *,
  690                           typename DomTreeNodeBase<NodeT>::const_iterator>,
  693     const DomTreeNodeBase<NodeT> *ThisRoot = getRootNode();
  706       const DomTreeNodeBase<NodeT> *Node = WorkStack.back().first;
  716         const DomTreeNodeBase<NodeT> *Child = *ChildIt;
  758   void addRoot(NodeT *BB) { this->Roots.push_back(BB); }
  797     NodeT *NewBBIDom = nullptr;
  816     DomTreeNodeBase<NodeT> *NewBBNode = addNewBlock(NewBB, NewBBIDom);
  821       DomTreeNodeBase<NodeT> *NewBBSuccNode = getNode(NewBBSucc);
  827   bool dominatedBySlowTreeWalk(const DomTreeNodeBase<NodeT> *A,
  828                                const DomTreeNodeBase<NodeT> *B) const {
  834     const DomTreeNodeBase<NodeT> *IDom;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/Recycler.h
   83   SubClass *Allocate(AllocatorType &Allocator) {
   84     static_assert(alignof(SubClass) <= Align,
   86     static_assert(sizeof(SubClass) <= Size,
   93   T *Allocate(AllocatorType &Allocator) {
   93   T *Allocate(AllocatorType &Allocator) {
   98   void Deallocate(AllocatorType & /*Allocator*/, SubClass* Element) {
include/llvm/Transforms/Utils/SizeOpts.h
   55 bool shouldOptimizeForSizeImpl(const BlockT *BB, ProfileSummaryInfo *PSI,
lib/CodeGen/AggressiveAntiDepBreaker.cpp
   60                                                MachineBasicBlock *BB)
  152 void AggressiveAntiDepBreaker::StartBlock(MachineBasicBlock *BB) {
  161   for (MachineBasicBlock::succ_iterator SI = BB->succ_begin(),
  755                               MachineBasicBlock::iterator Begin,
  814   for (MachineBasicBlock::iterator I = End, E = Begin;
lib/CodeGen/AggressiveAntiDepBreaker.h
   80     AggressiveAntiDepState(const unsigned TargetRegs, MachineBasicBlock *BB);
  138     void StartBlock(MachineBasicBlock *BB) override;
  143                                    MachineBasicBlock::iterator Begin,
lib/CodeGen/Analysis.cpp
  698     DenseMap<const MachineBasicBlock *, int> &EHScopeMembership, int EHScope,
  699     const MachineBasicBlock *MBB) {
  700   SmallVector<const MachineBasicBlock *, 16> Worklist = {MBB};
  702     const MachineBasicBlock *Visiting = Worklist.pop_back_val();
  721     for (const MachineBasicBlock *Succ : Visiting->successors())
  726 DenseMap<const MachineBasicBlock *, int>
  728   DenseMap<const MachineBasicBlock *, int> EHScopeMembership;
  739   SmallVector<const MachineBasicBlock *, 16> EHScopeBlocks;
  740   SmallVector<const MachineBasicBlock *, 16> UnreachableBlocks;
  741   SmallVector<const MachineBasicBlock *, 16> SEHCatchPads;
  742   SmallVector<std::pair<const MachineBasicBlock *, int>, 16> CatchRetSuccessors;
  743   for (const MachineBasicBlock &MBB : MF) {
  752     MachineBasicBlock::const_iterator MBBI = MBB.getFirstTerminator();
  761     const MachineBasicBlock *Successor = MBBI->getOperand(0).getMBB();
  762     const MachineBasicBlock *SuccessorColor = MBBI->getOperand(1).getMBB();
  774   for (const MachineBasicBlock *MBB : UnreachableBlocks)
  777   for (const MachineBasicBlock *MBB : EHScopeBlocks)
  780   for (const MachineBasicBlock *MBB : SEHCatchPads)
  783   for (std::pair<const MachineBasicBlock *, int> CatchRetPair :
lib/CodeGen/AntiDepBreaker.h
   39   virtual void StartBlock(MachineBasicBlock *BB) = 0;
   44                                          MachineBasicBlock::iterator Begin,
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
 1052   for (auto &MBB : *MF) {
 1816     const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
 1825       SmallPtrSet<const MachineBasicBlock*, 16> EmittedSets;
 1829         const MachineBasicBlock *MBB = JTBBs[ii];
 1863                                     const MachineBasicBlock *MBB,
 2867 static void emitBasicBlockLoopComments(const MachineBasicBlock &MBB,
 2874   MachineBasicBlock *Header = Loop->getHeader();
 2904 void AsmPrinter::setupCodePaddingContext(const MachineBasicBlock &MBB,
 2920 void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) {
 2983 void AsmPrinter::EmitBasicBlockEnd(const MachineBasicBlock &MBB) {
 3014 isBlockOnlyReachableByFallthrough(const MachineBasicBlock *MBB) const {
 3025   MachineBasicBlock *Pred = *MBB->pred_begin();
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 1407   for (const auto &MBB : *MF) {
 1426   for (const auto &MBB : *MF) {
 2858   for (const auto &MBB : *MF) {
lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
  240   for (const auto &MBB : *MF) {
lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
  128 void DwarfCFIException::beginFragment(const MachineBasicBlock *MBB,
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  708   for (const MachineBasicBlock &MBB : MF) {
 1317   MachineBasicBlock::const_reverse_iterator Pred(DbgValue);
 1729   for (const auto &MBB : *MF)
lib/CodeGen/AsmPrinter/DwarfException.h
   67   void beginFragment(const MachineBasicBlock *MBB,
lib/CodeGen/AsmPrinter/EHStreamer.cpp
  243   for (const auto &MBB : *Asm->MF) {
lib/CodeGen/AsmPrinter/WasmException.cpp
   84     MachineBasicBlock *LPad = Info->LandingPadBlock;
lib/CodeGen/AsmPrinter/WinException.cpp
  170                                    const MachineBasicBlock *MBB) {
  188 void WinException::beginFunclet(const MachineBasicBlock &MBB,
  443   MachineBasicBlock::const_iterator MBBI;
  631     auto *Handler = UME.Handler.get<MachineBasicBlock *>();
  631     auto *Handler = UME.Handler.get<MachineBasicBlock *>();
  759           getMCSymbolForMBB(Asm, UME.Cleanup.dyn_cast<MachineBasicBlock *>());
  847             getMCSymbolForMBB(Asm, HT.Handler.dyn_cast<MachineBasicBlock *>());
 1043     auto *Handler = UME.Handler.get<MachineBasicBlock *>();
 1043     auto *Handler = UME.Handler.get<MachineBasicBlock *>();
 1111   DenseMap<const MachineBasicBlock *, int> HandlerStates;
 1113     MachineBasicBlock *HandlerBlock =
 1114         FuncInfo.ClrEHUnwindMap[State].Handler.get<MachineBasicBlock *>();
 1275     MachineBasicBlock *HandlerBlock = Entry.Handler.get<MachineBasicBlock *>();
 1275     MachineBasicBlock *HandlerBlock = Entry.Handler.get<MachineBasicBlock *>();
lib/CodeGen/AsmPrinter/WinException.h
   44   const MachineBasicBlock *CurrentFuncletEntry = nullptr;
  109   void beginFunclet(const MachineBasicBlock &MBB, MCSymbol *Sym) override;
lib/CodeGen/BranchFolding.cpp
  153 void BranchFolder::RemoveDeadBlock(MachineBasicBlock *MBB) {
  200   for (MachineBasicBlock &MBB : MF) {
  201     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  230   for (const MachineBasicBlock &BB : MF) {
  296 static unsigned HashEndOfMBB(const MachineBasicBlock &MBB) {
  297   MachineBasicBlock::const_iterator I = MBB.getLastNonDebugInstr();
  312 static unsigned ComputeCommonTailLength(MachineBasicBlock *MBB1,
  313                                         MachineBasicBlock *MBB2,
  314                                         MachineBasicBlock::iterator &I1,
  416 void BranchFolder::replaceTailWithBranchTo(MachineBasicBlock::iterator OldInst,
  420     MachineBasicBlock &OldMBB = *OldInst->getParent();
  424     MachineBasicBlock::iterator I = OldMBB.end();
  433     for (MachineBasicBlock::RegisterMaskPair P : NewDest.liveins()) {
  450 MachineBasicBlock *BranchFolder::SplitMBBAt(MachineBasicBlock &CurMBB,
  450 MachineBasicBlock *BranchFolder::SplitMBBAt(MachineBasicBlock &CurMBB,
  451                                             MachineBasicBlock::iterator BBI1,
  460   MachineBasicBlock *NewMBB = MF.CreateMachineBasicBlock(BB);
  495 static unsigned EstimateRuntime(MachineBasicBlock::iterator I,
  515 static void FixTail(MachineBasicBlock *CurMBB, MachineBasicBlock *SuccBB,
  515 static void FixTail(MachineBasicBlock *CurMBB, MachineBasicBlock *SuccBB,
  519   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  523     MachineBasicBlock *NextBB = &*I;
  556 BranchFolder::MBFIWrapper::getBlockFreq(const MachineBasicBlock *MBB) const {
  565 void BranchFolder::MBFIWrapper::setBlockFreq(const MachineBasicBlock *MBB,
  572                                           const MachineBasicBlock *MBB) const {
  594 static unsigned CountTerminators(MachineBasicBlock *MBB,
  595                                  MachineBasicBlock::iterator &I) {
  613 static bool blockEndsInUnreachable(const MachineBasicBlock *MBB) {
  638 ProfitableToMerge(MachineBasicBlock *MBB1, MachineBasicBlock *MBB2,
  638 ProfitableToMerge(MachineBasicBlock *MBB1, MachineBasicBlock *MBB2,
  640                   MachineBasicBlock::iterator &I1,
  669     MachineBasicBlock::iterator I;
  736                                         MachineBasicBlock *SuccBB,
  737                                         MachineBasicBlock *PredBB) {
  740   MachineBasicBlock::iterator TrialBBI1, TrialBBI2;
  771                                         MachineBasicBlock *SuccBB,
  772                                         MachineBasicBlock *PredBB) {
  778     MachineBasicBlock *CurMBB = CurMPIter->getBlock();
  789 bool BranchFolder::CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
  790                                              MachineBasicBlock *SuccBB,
  811   MachineBasicBlock::iterator BBI =
  813   MachineBasicBlock *MBB = SameTails[commonTailIndex].getBlock();
  823   MachineBasicBlock *newMBB = SplitMBBAt(*MBB, BBI, BB);
  840 mergeOperations(MachineBasicBlock::iterator MBBIStartPos,
  842   MachineBasicBlock *MBB = MBBIStartPos->getParent();
  850   MachineBasicBlock::reverse_iterator MBBI = MBB->rbegin();
  851   MachineBasicBlock::reverse_iterator MBBIE = MBB->rend();
  852   MachineBasicBlock::reverse_iterator MBBICommon = MBBCommon.rbegin();
  853   MachineBasicBlock::reverse_iterator MBBIECommon = MBBCommon.rend();
  890   MachineBasicBlock *MBB = SameTails[commonTailIndex].getBlock();
  892   std::vector<MachineBasicBlock::iterator> NextCommonInsts(SameTails.size());
  933     for (MachineBasicBlock *Pred : MBB->predecessors()) {
  936       MachineBasicBlock::iterator InsertBefore = Pred->getFirstTerminator();
  960 bool BranchFolder::TryTailMergeBlocks(MachineBasicBlock *SuccBB,
  961                                       MachineBasicBlock *PredBB,
 1004     MachineBasicBlock *EntryBB =
 1022         MachineBasicBlock *MBB = SameTails[i].getBlock();
 1046     MachineBasicBlock *MBB = SameTails[commonTailIndex].getBlock();
 1085   for (MachineBasicBlock &MBB : MF) {
 1124     SmallPtrSet<MachineBasicBlock *, 8> UniquePreds;
 1125     MachineBasicBlock *IBB = &*I;
 1126     MachineBasicBlock *PredBB = &*std::prev(I);
 1146     for (MachineBasicBlock *PBB : I->predecessors()) {
 1172       MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1223 void BranchFolder::setCommonTailEdgeWeights(MachineBasicBlock &TailMBB) {
 1231     const MachineBasicBlock *SrcMBB = Src.getBlock();
 1281     MachineBasicBlock *MBB = &*I++;
 1297 static bool IsEmptyBlock(MachineBasicBlock *MBB) {
 1303 static bool IsBranchOnlyBlock(MachineBasicBlock *MBB) {
 1304   MachineBasicBlock::iterator I = MBB->getFirstNonDebugInstr();
 1313 static bool IsBetterFallthrough(MachineBasicBlock *MBB1,
 1314                                 MachineBasicBlock *MBB2) {
 1321   MachineBasicBlock::iterator MBB1I = MBB1->getLastNonDebugInstr();
 1322   MachineBasicBlock::iterator MBB2I = MBB2->getLastNonDebugInstr();
 1336 static DebugLoc getBranchDebugLoc(MachineBasicBlock &MBB) {
 1337   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
 1344                                        MachineBasicBlock &MBB,
 1345                                        MachineBasicBlock &PredMBB) {
 1356                                      MachineBasicBlock &MBB,
 1357                                      MachineBasicBlock &SuccMBB) {
 1375                                            MachineBasicBlock &MBB) {
 1379   for (MachineBasicBlock *SuccBB : MBB.successors())
 1385   for (MachineBasicBlock *PredBB : MBB.predecessors())
 1390 bool BranchFolder::OptimizeBlock(MachineBasicBlock *MBB) {
 1429         MachineBasicBlock *Pred = *(MBB->pred_end()-1);
 1443   MachineBasicBlock &PrevBB = *std::prev(MachineFunction::iterator(MBB));
 1445   MachineBasicBlock *PriorTBB = nullptr, *PriorFBB = nullptr;
 1482         MachineBasicBlock::iterator PrevBBIter = PrevBB.end();
 1484         MachineBasicBlock::iterator MBBIter = MBB->begin();
 1589       MachineBasicBlock *Pred = *MBB->pred_begin();
 1590       MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
 1620   MachineBasicBlock *CurTBB = nullptr, *CurFBB = nullptr;
 1694             MachineBasicBlock *PMBB = *(MBB->pred_begin() + PI);
 1705               MachineBasicBlock *NewCurTBB = nullptr, *NewCurFBB = nullptr;
 1748       for (MachineBasicBlock *PredBB : MBB->predecessors()) {
 1750         MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
 1767             MachineBasicBlock *NextBB = &*std::next(MBB->getIterator());
 1780       for (MachineBasicBlock *SuccBB : MBB->successors()) {
 1811       MachineBasicBlock *PrevTBB = nullptr, *PrevFBB = nullptr;
 1834     MachineBasicBlock *MBB = &*I++;
 1843 static MachineBasicBlock *findFalseBlock(MachineBasicBlock *BB,
 1843 static MachineBasicBlock *findFalseBlock(MachineBasicBlock *BB,
 1844                                          MachineBasicBlock *TrueBB) {
 1845   for (MachineBasicBlock *SuccBB : BB->successors())
 1870 MachineBasicBlock::iterator findHoistingInsertPosAndDeps(MachineBasicBlock *MBB,
 1875   MachineBasicBlock::iterator Loc = MBB->getFirstTerminator();
 1910   MachineBasicBlock::iterator PI =
 1967 bool BranchFolder::HoistCommonCodeInSuccs(MachineBasicBlock *MBB) {
 1968   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1987   MachineBasicBlock::iterator Loc =
 1994   MachineBasicBlock::iterator TIB = TBB->begin();
 1995   MachineBasicBlock::iterator FIB = FBB->begin();
 1996   MachineBasicBlock::iterator TIE = TBB->end();
 1997   MachineBasicBlock::iterator FIE = FBB->end();
lib/CodeGen/BranchFolding.h
   57       MachineBasicBlock *Block;
   60       MergePotentialsElt(unsigned h, MachineBasicBlock *b)
   64       MachineBasicBlock *getBlock() const { return Block; }
   66       void setBlock(MachineBasicBlock *MBB) {
   76     SmallPtrSet<const MachineBasicBlock*, 2> TriedMerging;
   77     DenseMap<const MachineBasicBlock *, int> EHScopeMembership;
   81       MachineBasicBlock::iterator TailStartPos;
   84       SameTailElt(MPIterator mp, MachineBasicBlock::iterator tsp)
   95       MachineBasicBlock::iterator getTailStartPos() const {
  103       MachineBasicBlock *getBlock() const {
  111       void setBlock(MachineBasicBlock *MBB) {
  115       void setTailStartPos(MachineBasicBlock::iterator Pos) {
  140       BlockFrequency getBlockFreq(const MachineBasicBlock *MBB) const;
  141       void setBlockFreq(const MachineBasicBlock *MBB, BlockFrequency F);
  143                                   const MachineBasicBlock *MBB) const;
  151       DenseMap<const MachineBasicBlock *, BlockFrequency> MergedBBFreq;
  159     bool TryTailMergeBlocks(MachineBasicBlock* SuccBB,
  160                        MachineBasicBlock* PredBB,
  162     void setCommonTailEdgeWeights(MachineBasicBlock &TailMBB);
  166     void replaceTailWithBranchTo(MachineBasicBlock::iterator OldInst,
  172     MachineBasicBlock *SplitMBBAt(MachineBasicBlock &CurMBB,
  172     MachineBasicBlock *SplitMBBAt(MachineBasicBlock &CurMBB,
  173                                   MachineBasicBlock::iterator BBI1,
  186                               MachineBasicBlock *SuccBB,
  187                               MachineBasicBlock *PredBB);
  191     void RemoveBlocksWithHash(unsigned CurHash, MachineBasicBlock* SuccBB,
  192                                                 MachineBasicBlock* PredBB);
  196     bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
  197                                    MachineBasicBlock *SuccBB,
  209     bool OptimizeBlock(MachineBasicBlock *MBB);
  213     void RemoveDeadBlock(MachineBasicBlock *MBB);
  221     bool HoistCommonCodeInSuccs(MachineBasicBlock *MBB);
lib/CodeGen/BranchRelaxation.cpp
   66     unsigned postOffset(const MachineBasicBlock &MBB) const {
   93   MachineBasicBlock *createNewBlockAfter(MachineBasicBlock &BB);
   93   MachineBasicBlock *createNewBlockAfter(MachineBasicBlock &BB);
   95   MachineBasicBlock *splitBlockBeforeInstr(MachineInstr &MI,
   96                                            MachineBasicBlock *DestBB);
   97   void adjustBlockOffsets(MachineBasicBlock &Start);
   98   bool isBlockInRange(const MachineInstr &MI, const MachineBasicBlock &BB) const;
  102   uint64_t computeBlockSize(const MachineBasicBlock &MBB) const;
  129   for (MachineBasicBlock &MBB : *MF) {
  142   for (auto &MBB : *MF) {
  160   for (MachineBasicBlock &MBB : *MF)
  168 uint64_t BranchRelaxation::computeBlockSize(const MachineBasicBlock &MBB) const {
  179   const MachineBasicBlock *MBB = MI.getParent();
  187   for (MachineBasicBlock::const_iterator I = MBB->begin(); &*I != &MI; ++I) {
  195 void BranchRelaxation::adjustBlockOffsets(MachineBasicBlock &Start) {
  197   for (auto &MBB : make_range(MachineFunction::iterator(Start), MF->end())) {
  210 MachineBasicBlock *BranchRelaxation::createNewBlockAfter(MachineBasicBlock &BB) {
  210 MachineBasicBlock *BranchRelaxation::createNewBlockAfter(MachineBasicBlock &BB) {
  212   MachineBasicBlock *NewBB =
  225 MachineBasicBlock *BranchRelaxation::splitBlockBeforeInstr(MachineInstr &MI,
  226                                                            MachineBasicBlock *DestBB) {
  227   MachineBasicBlock *OrigBB = MI.getParent();
  230   MachineBasicBlock *NewBB =
  281   const MachineInstr &MI, const MachineBasicBlock &DestBB) const {
  302   MachineBasicBlock *MBB = MI.getParent();
  303   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  304   MachineBasicBlock *NewBB = nullptr;
  384     MachineBasicBlock &NextBB = *std::next(MachineFunction::iterator(MBB));
  439   MachineBasicBlock *MBB = MI.getParent();
  442   MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI);
  451   MachineBasicBlock *BranchBB = MBB;
  459     for (const MachineBasicBlock *Succ : MBB->successors()) {
  460       for (const MachineBasicBlock::RegisterMaskPair &LiveIn : Succ->liveins())
  484     MachineBasicBlock &MBB = *I;
  487     MachineBasicBlock::iterator Last = MBB.getLastNonDebugInstr();
  499       if (MachineBasicBlock *DestBB = TII->getBranchDestBlock(*Last)) {
  509     MachineBasicBlock::iterator Next;
  510     for (MachineBasicBlock::iterator J = MBB.getFirstTerminator();
  516         MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI);
lib/CodeGen/BreakFalseDeps.cpp
   70   void processBasicBlock(MachineBasicBlock *MBB);
   93   void processUndefReads(MachineBasicBlock *);
  214 void BreakFalseDeps::processUndefReads(MachineBasicBlock *MBB) {
  250 void BreakFalseDeps::processBasicBlock(MachineBasicBlock *MBB) {
  276   for (MachineBasicBlock &MBB : mf) {
lib/CodeGen/CFGuardLongjmp.cpp
   74   for (MachineBasicBlock &MBB : MF) {
lib/CodeGen/CFIInstrInserter.cpp
   70     MachineBasicBlock *MBB;
  107   int getCorrectCFAOffset(MachineBasicBlock *MBB) {
  137   for (MachineBasicBlock &MBB : MF) {
  151   for (MachineBasicBlock &MBB : MF) {
  224   SmallVector<MachineBasicBlock *, 4> Stack;
  228     MachineBasicBlock *Current = Stack.pop_back_val();
  234     for (auto *Succ : CurrentInfo.MBB->successors()) {
  250   for (MachineBasicBlock &MBB : MF) {
  312   for (auto *CurrMBB : depth_first(&MF)) {
  314     for (MachineBasicBlock *Succ : CurrMBB->successors()) {
lib/CodeGen/CalcSpillWeights.cpp
  155   MachineBasicBlock *mbb = nullptr;
  173     MachineBasicBlock *localMBB = LIS.getMBBFromIndex(*end);
lib/CodeGen/CriticalAntiDepBreaker.cpp
   54 void CriticalAntiDepBreaker::StartBlock(MachineBasicBlock *BB) {
   71   for (MachineBasicBlock::succ_iterator SI = BB->succ_begin(),
  438                       MachineBasicBlock::iterator Begin,
  528   for (MachineBasicBlock::iterator I = End, E = Begin; I != E; --Count) {
lib/CodeGen/CriticalAntiDepBreaker.h
   78     void StartBlock(MachineBasicBlock *BB) override;
   83                                    MachineBasicBlock::iterator Begin,
lib/CodeGen/DFAPacketizer.cpp
  208 void VLIWPacketizerList::endPacket(MachineBasicBlock *MBB,
  209                                    MachineBasicBlock::iterator MI) {
  230 void VLIWPacketizerList::PacketizeMIs(MachineBasicBlock *MBB,
  231                                       MachineBasicBlock::iterator BeginItr,
lib/CodeGen/DeadMachineInstructionElim.cpp
  109   for (MachineBasicBlock &MBB : make_range(MF.rbegin(), MF.rend())) {
  116     for (MachineBasicBlock::succ_iterator S = MBB.succ_begin(),
  123     for (MachineBasicBlock::reverse_iterator MII = MBB.rbegin(),
lib/CodeGen/DetectDeadLanes.cpp
  534   for (MachineBasicBlock &MBB : MF) {
lib/CodeGen/EarlyIfConversion.cpp
   88   MachineBasicBlock *Head;
   91   MachineBasicBlock *Tail;
   94   MachineBasicBlock *TBB;
   97   MachineBasicBlock *FBB;
  104   MachineBasicBlock *getTPred() const { return TBB == Tail ? Head : TBB; }
  107   MachineBasicBlock *getFPred() const { return FBB == Tail ? Head : FBB; }
  138   MachineBasicBlock::iterator InsertionPoint;
  142   bool canSpeculateInstrs(MachineBasicBlock *MBB);
  146   bool canPredicateInstrs(MachineBasicBlock *MBB);
  154   void PredicateBlock(MachineBasicBlock *MBB, bool ReversePredicate);
  181   bool canConvertIf(MachineBasicBlock *MBB, bool Predicate = false);
  185   void convertIf(SmallVectorImpl<MachineBasicBlock *> &RemovedBlocks,
  199 bool SSAIfConv::canSpeculateInstrs(MachineBasicBlock *MBB) {
  211   for (MachineBasicBlock::iterator I = MBB->begin(),
  293 bool SSAIfConv::canPredicateInstrs(MachineBasicBlock *MBB) {
  305   for (MachineBasicBlock::iterator I = MBB->begin(),
  337 void SSAIfConv::PredicateBlock(MachineBasicBlock *MBB, bool ReversePredicate) {
  342   for (MachineBasicBlock::iterator I = MBB->begin(),
  366   MachineBasicBlock::iterator FirstTerm = Head->getFirstTerminator();
  367   MachineBasicBlock::iterator I = Head->end();
  368   MachineBasicBlock::iterator B = Head->begin();
  431 bool SSAIfConv::canConvertIf(MachineBasicBlock *MBB, bool Predicate) {
  437   MachineBasicBlock *Succ0 = Head->succ_begin()[0];
  438   MachineBasicBlock *Succ1 = Head->succ_begin()[1];
  505   MachineBasicBlock *TPred = getTPred();
  506   MachineBasicBlock *FPred = getFPred();
  507   for (MachineBasicBlock::iterator I = Tail->begin(), E = Tail->end();
  561   MachineBasicBlock::iterator FirstTerm = Head->getFirstTerminator();
  581   MachineBasicBlock::iterator FirstTerm = Head->getFirstTerminator();
  605       MachineBasicBlock *MBB = PI.PHI->getOperand(i-1).getMBB();
  623 void SSAIfConv::convertIf(SmallVectorImpl<MachineBasicBlock *> &RemovedBlocks,
  719   bool tryConvertIf(MachineBasicBlock*);
  750                    ArrayRef<MachineBasicBlock *> Removed) {
  768                  ArrayRef<MachineBasicBlock *> Removed) {
  818   SmallVector<const MachineBasicBlock*, 1> ExtraBlocks;
  884 bool EarlyIfConverter::tryConvertIf(MachineBasicBlock *MBB) {
  889     SmallVector<MachineBasicBlock*, 4> RemovedBlocks;
  954   bool tryConvertIf(MachineBasicBlock *);
  982     MachineBasicBlock &IfBlock =
 1020 bool EarlyIfPredicator::tryConvertIf(MachineBasicBlock *MBB) {
 1024     SmallVector<MachineBasicBlock *, 4> RemovedBlocks;
lib/CodeGen/EdgeBundles.cpp
   44   for (const auto &MBB : *MF) {
   47     for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(),
   80   for (const auto &MBB : *MF) {
   87     for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(),
lib/CodeGen/ExecutionDomainFix.cpp
  155   MachineBasicBlock *MBB = TraversedMBB.MBB;
  169   for (MachineBasicBlock *pred : MBB->predecessors()) {
lib/CodeGen/ExpandPostRAPseudos.cpp
   67   MachineBasicBlock::iterator CopyMI = MI;
   76   MachineBasicBlock *MBB = MI->getParent();
  123     MachineBasicBlock::iterator CopyMI = MI;
  192     for (MachineBasicBlock::iterator mi = mbbi->begin(), me = mbbi->end();
lib/CodeGen/FEntryInserter.cpp
   42   auto &FirstMBB = *MF.begin();
lib/CodeGen/FinalizeISel.cpp
   53     MachineBasicBlock *MBB = &*I;
   54     for (MachineBasicBlock::iterator MBBI = MBB->begin(), MBBE = MBB->end();
   61         MachineBasicBlock *NewMBB = TLI->EmitInstrWithCustomInserter(MI, MBB);
lib/CodeGen/FuncletLayout.cpp
   46   DenseMap<const MachineBasicBlock *, int> FuncletMembership =
lib/CodeGen/GCRootLowering.cpp
   63   void VisitCallPoint(MachineBasicBlock::iterator CI);
   64   MCSymbol *InsertLabel(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   64   MCSymbol *InsertLabel(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  256 MCSymbol *GCMachineCodeAnalysis::InsertLabel(MachineBasicBlock &MBB,
  257                                              MachineBasicBlock::iterator MI,
  264 void GCMachineCodeAnalysis::VisitCallPoint(MachineBasicBlock::iterator CI) {
  267   MachineBasicBlock::iterator RAI = CI;
  275   for (MachineBasicBlock &MBB : MF)
  276     for (MachineBasicBlock::iterator MI = MBB.begin(), ME = MBB.end();
lib/CodeGen/GlobalISel/CSEInfo.cpp
  102                                                   MachineBasicBlock *MBB,
  149                                                     MachineBasicBlock *MBB,
  232   for (auto &MBB : MF) {
  321 GISelInstProfileBuilder::addNodeIDMBB(const MachineBasicBlock *MBB) const {
lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
   19 bool CSEMIRBuilder::dominates(MachineBasicBlock::const_iterator A,
   26   const MachineBasicBlock *BBA = A->getParent();
   27   MachineBasicBlock::const_iterator I = BBA->begin();
   38   MachineBasicBlock *CurMBB = &getMBB();
lib/CodeGen/GlobalISel/Combiner.cpp
  132     for (MachineBasicBlock *MBB : post_order(&MF)) {
lib/CodeGen/GlobalISel/CombinerHelper.cpp
  322     std::function<void(MachineBasicBlock *, MachineBasicBlock::iterator,
  322     std::function<void(MachineBasicBlock *, MachineBasicBlock::iterator,
  327   MachineBasicBlock *InsertBB = UseMI.getParent();
  338     MachineBasicBlock::iterator InsertPt = &DefMI;
  430   DenseMap<MachineBasicBlock *, MachineInstr *> EmittedInsns;
  539   MachineBasicBlock::const_iterator I = DefMI.getParent()->begin();
  754   MachineBasicBlock *MBB = MI.getParent();
  755   MachineBasicBlock::iterator BrIt(MI);
  783   MachineBasicBlock *BrTarget = MI.getOperand(0).getMBB();
  784   MachineBasicBlock::iterator BrIt(MI);
lib/CodeGen/GlobalISel/IRTranslator.cpp
  276 MachineBasicBlock &IRTranslator::getMBB(const BasicBlock &BB) {
  277   MachineBasicBlock *&MBB = BBToMBB[&BB];
  282 void IRTranslator::addMachineCFGPred(CFGEdge Edge, MachineBasicBlock *NewPred) {
  391     MachineBasicBlock &TrueBB = getMBB(TrueTgt);
  396   MachineBasicBlock &TgtBB = getMBB(BrTgt);
  397   MachineBasicBlock &CurBB = MIRBuilder.getMBB();
  409 void IRTranslator::addSuccessorWithProb(MachineBasicBlock *Src,
  410                                         MachineBasicBlock *Dst,
  422 IRTranslator::getEdgeProbability(const MachineBasicBlock *Src,
  423                                  const MachineBasicBlock *Dst) const {
  443     MachineBasicBlock *Succ = &getMBB(*I.getCaseSuccessor());
  452   MachineBasicBlock *DefaultMBB = &getMBB(*SI.getDefaultDest());
  459   MachineBasicBlock *SwitchMBB = &getMBB(*SI.getParent());
  508                                  MachineBasicBlock *MBB) {
  524                                        MachineBasicBlock *HeaderBB) {
  567                                   MachineBasicBlock *SwitchBB,
  643                                           MachineBasicBlock *SwitchMBB,
  644                                           MachineBasicBlock *CurMBB,
  645                                           MachineBasicBlock *DefaultMBB,
  660   MachineBasicBlock *JumpMBB = JT->MBB;
  677   for (MachineBasicBlock::succ_iterator SI = JumpMBB->succ_begin(),
  716                                             MachineBasicBlock *Fallthrough,
  719                                             MachineBasicBlock *CurMBB,
  721                                             MachineBasicBlock *SwitchMBB) {
  750                                        MachineBasicBlock *SwitchMBB,
  751                                        MachineBasicBlock *DefaultMBB,
  755   MachineBasicBlock *NextMBB = nullptr;
  791   MachineBasicBlock *CurMBB = W.MBB;
  794     MachineBasicBlock *Fallthrough;
  844   MachineBasicBlock &CurBB = MIRBuilder.getMBB();
 1710   MachineBasicBlock &EHPadMBB = getMBB(*EHPadBB),
 1730   MachineBasicBlock &MBB = MIRBuilder.getMBB();
 2056     MachineBasicBlock *PhiMBB = ComponentPHIs[0]->getParent();
 2062     SmallSet<const MachineBasicBlock *, 16> SeenPreds;
 2266   MachineBasicBlock *EntryBB = MF->CreateMachineBasicBlock();
 2279     auto *&MBB = BBToMBB[&BB];
 2330       MachineBasicBlock &MBB = getMBB(*BB);
 2382   MachineBasicBlock &NewEntryBB = **EntryBB->succ_begin();
 2391   for (const MachineBasicBlock::RegisterMaskPair &LiveIn : EntryBB->liveins())
lib/CodeGen/GlobalISel/InstructionSelect.cpp
  103   for (MachineBasicBlock *MBB : post_order(&MF)) {
  153   for (MachineBasicBlock &MBB : MF) {
  231   for (const auto &MBB : MF) {
lib/CodeGen/GlobalISel/InstructionSelector.cpp
   40   MachineBasicBlock &MBB = *I.getParent();
lib/CodeGen/GlobalISel/Legalizer.cpp
  164   for (auto *MBB : RPOT) {
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  919       MachineBasicBlock &OpMBB = *MI.getOperand(i + 1).getMBB();
  924     MachineBasicBlock &MBB = *MI.getParent();
 1763       MachineBasicBlock &OpMBB = *MI.getOperand(I + 1).getMBB();
 1768     MachineBasicBlock &MBB = *MI.getParent();
 2723   MachineBasicBlock *MBB = MI.getParent();
 2735     MachineBasicBlock &OpMBB = *MI.getOperand(I + 1).getMBB();
 3247     MachineBasicBlock &OpMBB = *MI.getOperand(I + 1).getMBB();
 3252   MachineBasicBlock &MBB = *MI.getParent();
lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  740     for (const MachineBasicBlock &MBB : MF)
lib/CodeGen/GlobalISel/Localizer.cpp
   99                            MachineBasicBlock *&InsertMBB) {
  110   DenseMap<std::pair<MachineBasicBlock *, unsigned>, unsigned> MBBWithLocalDef;
  116   auto &MBB = MF.front();
  132       MachineBasicBlock *InsertMBB;
  181     MachineBasicBlock &MBB = *MI->getParent();
  193     MachineBasicBlock::iterator II(MI);
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
   36 void MachineIRBuilder::setMBB(MachineBasicBlock &MBB) {
   51 void MachineIRBuilder::setInsertPt(MachineBasicBlock &MBB,
   52                                    MachineBasicBlock::iterator II) {
  261 MachineInstrBuilder MachineIRBuilder::buildBr(MachineBasicBlock &Dest) {
  362                                                   MachineBasicBlock &Dest) {
lib/CodeGen/GlobalISel/RegBankSelect.cpp
  680   for (MachineBasicBlock *MBB : RPOT) {
  684     for (MachineBasicBlock::iterator MII = MBB->begin(), End = MBB->end();
  704         MachineBasicBlock *NextInstBB = MII->getParent();
  750       MachineBasicBlock::iterator It = MI.getParent()->getFirstNonPHI();
  758     MachineBasicBlock &Pred = *MI.getOperand(OpIdx + 1).getMBB();
  762     MachineBasicBlock::iterator It = Pred.getLastNonDebugInstr();
  785       MachineBasicBlock::reverse_iterator It = MI;
  804     for (MachineBasicBlock::iterator It = MI, End = MI.getParent()->end();
  810     MachineBasicBlock &Src = *MI.getParent();
  821 void RegBankSelect::RepairingPlacement::addInsertPoint(MachineBasicBlock &MBB,
  826 void RegBankSelect::RepairingPlacement::addInsertPoint(MachineBasicBlock &Src,
  827                                                        MachineBasicBlock &Dst) {
  905   MachineBasicBlock *NewBB = Src.SplitCriticalEdge(DstOrSplit, P);
lib/CodeGen/GlobalISel/Utils.cpp
   54     MachineBasicBlock::iterator InsertIt(&InsertPt);
   55     MachineBasicBlock &MBB = *InsertPt.getParent();
  117   MachineBasicBlock &MBB = *I.getParent();
lib/CodeGen/IfConversion.cpp
  146       MachineBasicBlock *BB = nullptr;
  147       MachineBasicBlock *TrueBB = nullptr;
  148       MachineBasicBlock *FalseBB = nullptr;
  232         MachineBasicBlock::iterator &TIB, MachineBasicBlock::iterator &FIB,
  245                           MachineBasicBlock::iterator &Begin,
  249         MachineBasicBlock::iterator &TIB, MachineBasicBlock::iterator &FIB,
  252     void AnalyzeBlock(MachineBasicBlock &MBB,
  259     void InvalidatePreds(MachineBasicBlock &MBB);
  273                         MachineBasicBlock::iterator E,
  281     bool MeetIfcvtSizeLimit(MachineBasicBlock &BB,
  289                             MachineBasicBlock &CommBB, unsigned Dups,
  293         MachineBasicBlock::iterator TIB = TBBInfo.BB->begin();
  294         MachineBasicBlock::iterator FIB = FBBInfo.BB->begin();
  295         MachineBasicBlock::iterator TIE = TBBInfo.BB->end();
  296         MachineBasicBlock::iterator FIE = FBBInfo.BB->end();
  611 static MachineBasicBlock *findFalseBlock(MachineBasicBlock *BB,
  611 static MachineBasicBlock *findFalseBlock(MachineBasicBlock *BB,
  612                                          MachineBasicBlock *TrueBB) {
  613   for (MachineBasicBlock *SuccBB : BB->successors()) {
  635 static inline MachineBasicBlock *getNextBlock(MachineBasicBlock &MBB) {
  635 static inline MachineBasicBlock *getNextBlock(MachineBasicBlock &MBB) {
  691         MachineBasicBlock *FExit = FalseBranch
  703   MachineBasicBlock *TExit = FalseBranch ? TrueBBI.FalseBB : TrueBBI.TrueBB;
  734     MachineBasicBlock::iterator &TIB,
  768   MachineBasicBlock::reverse_iterator RTIE = std::next(TIE.getReverse());
  769   MachineBasicBlock::reverse_iterator RFIE = std::next(FIE.getReverse());
  770   const MachineBasicBlock::reverse_iterator RTIB = std::next(TIB.getReverse());
  771   const MachineBasicBlock::reverse_iterator RFIB = std::next(FIB.getReverse());
  814     MachineBasicBlock::iterator &TIB, MachineBasicBlock::iterator &FIB,
  832     MachineBasicBlock *MBB1,
  833     MachineBasicBlock *MBB2) {
  834   const MachineBasicBlock::reverse_iterator B1 = MBB1->rend();
  835   const MachineBasicBlock::reverse_iterator B2 = MBB2->rend();
  836   MachineBasicBlock::reverse_iterator E1 = MBB1->rbegin();
  837   MachineBasicBlock::reverse_iterator E2 = MBB2->rbegin();
  898   MachineBasicBlock *TT = TrueBBI.TrueBB;
  899   MachineBasicBlock *TF = TrueBBI.FalseBB;
  900   MachineBasicBlock *FT = FalseBBI.TrueBB;
  901   MachineBasicBlock *FF = FalseBBI.FalseBB;
  933   MachineBasicBlock::iterator TIB = TrueBBI.BB->begin();
  934   MachineBasicBlock::iterator FIB = FalseBBI.BB->begin();
  935   MachineBasicBlock::iterator TIE = TrueBBI.BB->end();
  936   MachineBasicBlock::iterator FIE = FalseBBI.BB->end();
  968   MachineBasicBlock *TT = TrueBBI.TrueBB;
  969   MachineBasicBlock *FT = FalseBBI.TrueBB;
  992   MachineBasicBlock::iterator TIB = TrueBBI.BB->begin();
  993   MachineBasicBlock::iterator FIB = FalseBBI.BB->begin();
  994   MachineBasicBlock::iterator TIE = TrueBBI.BB->end();
  995   MachineBasicBlock::iterator FIE = FalseBBI.BB->end();
 1054                                    MachineBasicBlock::iterator &Begin,
 1205     MachineBasicBlock &MBB, std::vector<std::unique_ptr<IfcvtToken>> &Tokens) {
 1207     BBState(MachineBasicBlock &MBB) : MBB(&MBB), SuccsAnalyzed(false) {}
 1208     MachineBasicBlock *MBB;
 1219     MachineBasicBlock *BB = State.MBB;
 1232       MachineBasicBlock::iterator Begin = BBI.BB->begin();
 1233       MachineBasicBlock::iterator End = BBI.BB->end();
 1427   for (MachineBasicBlock &MBB : MF)
 1436 static bool canFallThroughTo(MachineBasicBlock &MBB, MachineBasicBlock &ToMBB) {
 1436 static bool canFallThroughTo(MachineBasicBlock &MBB, MachineBasicBlock &ToMBB) {
 1454 void IfConverter::InvalidatePreds(MachineBasicBlock &MBB) {
 1455   for (const MachineBasicBlock *Predecessor : MBB.predecessors()) {
 1465 static void InsertUncondBranch(MachineBasicBlock &MBB, MachineBasicBlock &ToMBB,
 1465 static void InsertUncondBranch(MachineBasicBlock &MBB, MachineBasicBlock &ToMBB,
 1537   MachineBasicBlock &CvtMBB = *CvtBBI->BB;
 1538   MachineBasicBlock &NextMBB = *NextBBI->BB;
 1623   MachineBasicBlock &CvtMBB = *CvtBBI->BB;
 1624   MachineBasicBlock &NextMBB = *NextBBI->BB;
 1645       for (MachineBasicBlock *PBB : CvtMBB.predecessors()) {
 1813   MachineBasicBlock &MBB1 = *BBI1->BB;
 1814   MachineBasicBlock &MBB2 = *BBI2->BB;
 1830   MachineBasicBlock::iterator DI1 = MBB1.getFirstNonDebugInstr();
 1831   MachineBasicBlock::iterator DI2 = MBB2.getFirstNonDebugInstr();
 1882     MachineBasicBlock::iterator Prev = std::prev(DI1);
 1914       MachineBasicBlock::iterator Prev = std::prev(DI2);
 1983     MachineBasicBlock::iterator BBI1T = MBB1.getFirstTerminator();
 1984     MachineBasicBlock::iterator BBI2T = MBB2.getFirstTerminator();
 2011   MachineBasicBlock::iterator TIE = TrueBBI.BB->getFirstTerminator();
 2043   MachineBasicBlock *TailBB = TrueBBI.TrueBB;
 2076     MachineBasicBlock::const_iterator TI = BBI.BB->getFirstTerminator();
 2085       MachineBasicBlock::pred_iterator PI = TailBB->pred_begin();
 2129                                  MachineBasicBlock::iterator E,
 2176   MachineBasicBlock &FromMBB = *FromBBI.BB;
 2210     std::vector<MachineBasicBlock *> Succs(FromMBB.succ_begin(),
 2212     MachineBasicBlock *NBB = getNextBlock(FromMBB);
 2213     MachineBasicBlock *FallThrough = FromBBI.HasFallThrough ? NBB : nullptr;
 2215     for (MachineBasicBlock *Succ : Succs) {
 2238   MachineBasicBlock &FromMBB = *FromBBI.BB;
 2244   MachineBasicBlock::iterator FromTI = FromMBB.getFirstTerminator();
 2245   MachineBasicBlock::iterator ToTI = ToBBI.BB->getFirstTerminator();
 2260   SmallVector<MachineBasicBlock *, 4> FromSuccs(FromMBB.succ_begin(),
 2262   MachineBasicBlock *NBB = getNextBlock(FromMBB);
 2263   MachineBasicBlock *FallThrough = FromBBI.HasFallThrough ? NBB : nullptr;
 2274   for (MachineBasicBlock *Succ : FromSuccs) {
 2332   MachineBasicBlock *Last = &*FromMBB.getParent()->rbegin();
lib/CodeGen/ImplicitNullChecks.cpp
  128     MachineBasicBlock *CheckBlock;
  131     MachineBasicBlock *NotNullSucc;
  134     MachineBasicBlock *NullSucc;
  142                        MachineBasicBlock *checkBlock,
  143                        MachineBasicBlock *notNullSucc,
  144                        MachineBasicBlock *nullSucc,
  154     MachineBasicBlock *getCheckBlock() const { return CheckBlock; }
  156     MachineBasicBlock *getNotNullSucc() const { return NotNullSucc; }
  158     MachineBasicBlock *getNullSucc() const { return NullSucc; }
  168   bool analyzeBlockForNullChecks(MachineBasicBlock &MBB,
  170   MachineInstr *insertFaultingInstr(MachineInstr *MI, MachineBasicBlock *MBB,
  171                                     MachineBasicBlock *HandlerMBB);
  207                     MachineBasicBlock *NullSucc, MachineInstr *&Dependence);
  304   for (auto &MBB : MF)
  315                            MachineBasicBlock *MBB, unsigned Reg) {
  392                                       MachineBasicBlock *NullSucc,
  461     MachineBasicBlock &MBB, SmallVectorImpl<NullCheck> &NullCheckList) {
  487   MachineBasicBlock *NotNullSucc, *NullSucc;
  616     MachineInstr *MI, MachineBasicBlock *MBB, MachineBasicBlock *HandlerMBB) {
  616     MachineInstr *MI, MachineBasicBlock *MBB, MachineBasicBlock *HandlerMBB) {
  688     MachineBasicBlock *MBB = NC.getMemOperation()->getParent();
lib/CodeGen/InlineSpiller.cpp
  119                      MachineBasicBlock &BB, unsigned &LiveReg);
  127       MachineBasicBlock *Root, SmallPtrSet<MachineInstr *, 16> &Spills,
  228   void insertReload(unsigned VReg, SlotIndex, MachineBasicBlock::iterator MI);
  229   void insertSpill(unsigned VReg, bool isKill, MachineBasicBlock::iterator MI);
  383   MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(SrcVNI->def);
  401   MachineBasicBlock *MBB = LIS.getMBBFromIndex(SrcVNI->def);
  402   MachineBasicBlock::iterator MII;
  499       MachineBasicBlock *MBB = LIS.getMBBFromIndex(VNI->def);
  500       for (MachineBasicBlock *P : MBB->predecessors()) {
  750 static void dumpMachineInstrRangeWithSlotIndex(MachineBasicBlock::iterator B,
  765   for (MachineBasicBlock::iterator I = B; I != E; ++I) {
  905                                  MachineBasicBlock::iterator MI) {
  906   MachineBasicBlock &MBB = *MI->getParent();
  935                                  MachineBasicBlock::iterator MI) {
  936   MachineBasicBlock &MBB = *MI->getParent();
  975       MachineBasicBlock *MBB = MI->getParent();
 1174                                      MachineBasicBlock &BB, unsigned &LiveReg) {
 1177   MachineBasicBlock::iterator MI = IPA.getLastInsertPointIter(OrigLI, BB);
 1206     MachineBasicBlock *Block = CurrentSpill->getParent();
 1231     MachineBasicBlock *Root, SmallPtrSet<MachineInstr *, 16> &Spills,
 1255     MachineBasicBlock *Block = Spill->getParent();
 1335   MachineBasicBlock *Root = LIS.getMBBFromIndex(OrigVNI.def);
 1353     MachineBasicBlock *Block = (*RIt)->getBlock();
 1486     DenseMap<MachineBasicBlock *, unsigned> SpillsToIns;
 1508       MachineBasicBlock *BB = Insert.first;
 1510       MachineBasicBlock::iterator MI = IPA.getLastInsertPointIter(OrigLI, *BB);
lib/CodeGen/LexicalScopes.cpp
   72   for (const auto &MBB : *MF) {
  280     const DILocation *DL, SmallPtrSetImpl<const MachineBasicBlock *> &MBBs) {
  289     for (const auto &MBB : *MF)
  301 bool LexicalScopes::dominates(const DILocation *DL, MachineBasicBlock *MBB) {
lib/CodeGen/LiveDebugValues.cpp
  109     SmallPtrSet<const MachineBasicBlock *, 4> LBlocks;
  116     bool dominates(MachineBasicBlock *MBB) {
  330     bool dominates(MachineBasicBlock &MBB) const { return UVS.dominates(&MBB); }
  375   using VarLocInMBB = SmallDenseMap<const MachineBasicBlock *, VarLocSet>;
  485   bool transferTerminator(MachineBasicBlock *MBB, OpenRangesSet &OpenRanges,
  495   bool join(MachineBasicBlock &MBB, VarLocInMBB &OutLocs, VarLocInMBB &InLocs,
  636   for (const MachineBasicBlock &BB : MF) {
  661   const MachineBasicBlock *MBB = MI.getParent();
 1034 bool LiveDebugValues::transferTerminator(MachineBasicBlock *CurMBB,
 1131     MachineBasicBlock &MBB, VarLocInMBB &OutLocs, VarLocInMBB &InLocs,
 1236     auto &MBB = const_cast<MachineBasicBlock &>(*Iter.first);
 1277   SmallPtrSet<const MachineBasicBlock *, 16> ArtificialBlocks;
 1279   DenseMap<unsigned int, MachineBasicBlock *> OrderToBB;
 1280   DenseMap<MachineBasicBlock *, unsigned int> BBToOrder;
 1308   MachineBasicBlock &First_MBB = *(MF.begin());
 1326   for (auto &MBB : MF) {
 1340   for (auto &MBB : MF)
 1359   SmallPtrSet<const MachineBasicBlock *, 16> Visited;
 1364     SmallPtrSet<MachineBasicBlock *, 16> OnPending;
 1367       MachineBasicBlock *MBB = OrderToBB[Worklist.top()];
 1406     MachineBasicBlock *MBB = TR.TransferInst->getParent();
lib/CodeGen/LiveDebugVariables.cpp
  198   void insertDebugValue(MachineBasicBlock *MBB, SlotIndex StartIdx,
  361   void insertDebugLabel(MachineBasicBlock *MBB, SlotIndex Idx,
  685     MachineBasicBlock *MBB = &*MFI;
  686     for (MachineBasicBlock::iterator MBBI = MBB->begin(), MBBE = MBB->end();
  720   MachineBasicBlock *MBB = LIS.getMBBFromIndex(Start);
  972   for (MachineBasicBlock &MBB : mf) {
 1237 static MachineBasicBlock::iterator
 1248       MachineBasicBlock::iterator I = MBB->SkipPHIsLabelsAndDebug(MBB->begin());
 1261 static MachineBasicBlock::iterator
 1284 void UserValue::insertDebugValue(MachineBasicBlock *MBB, SlotIndex StartIdx,
 1292   MachineBasicBlock::iterator I = findInsertLocation(MBB, StartIdx, LIS);
 1328 void UserLabel::insertDebugLabel(MachineBasicBlock *MBB, SlotIndex Idx,
 1331   MachineBasicBlock::iterator I = findInsertLocation(MBB, Idx, LIS);
lib/CodeGen/LiveInterval.cpp
 1327       const MachineBasicBlock *MBB = LIS.getMBBFromIndex(VNI->def);
 1330       for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
lib/CodeGen/LiveIntervals.cpp
  215   for (const MachineBasicBlock &MBB : *MF) {
  319   for (const MachineBasicBlock &MBB : *MF) {
  366   SmallPtrSet<const MachineBasicBlock*, 16> LiveOut;
  389     const MachineBasicBlock *MBB = Indexes->getMBBFromIndex(Idx.getPrevSlot());
  401       for (const MachineBasicBlock *Pred : MBB->predecessors()) {
  417     for (const MachineBasicBlock *Pred : MBB->predecessors()) {
  628   MachineBasicBlock *KillMBB = Indexes->getMBBFromIndex(Kill);
  645   using VisitedTy = df_iterator_default_set<MachineBasicBlock*,9>;
  647   for (MachineBasicBlock *Succ : KillMBB->successors()) {
  648     for (df_ext_iterator<MachineBasicBlock*, VisitedTy>
  651       MachineBasicBlock *MBB = *I;
  813 MachineBasicBlock*
  832   MachineBasicBlock *MBB1 = Indexes->getMBBFromIndex(Start);
  833   MachineBasicBlock *MBB2 = Indexes->getMBBFromIndex(Stop);
  842     const MachineBasicBlock *PHIMBB = getMBBFromIndex(PHI->def);
  846     for (const MachineBasicBlock *Pred : PHIMBB->predecessors())
  861                                     const MachineBasicBlock *MBB) {
  893   if (MachineBasicBlock *MBB = intervalIsInOneMBB(LI)) {
 1424     MachineBasicBlock *MBB = Indexes->getMBBFromIndex(Before);
 1428     MachineBasicBlock::iterator MII = MBB->end();
 1434     MachineBasicBlock::iterator Begin = MBB->begin();
 1481 void LiveIntervals::repairOldRegInRange(const MachineBasicBlock::iterator Begin,
 1498   for (MachineBasicBlock::iterator I = End; I != Begin;) {
 1576 LiveIntervals::repairIntervalsInRange(MachineBasicBlock *MBB,
 1577                                       MachineBasicBlock::iterator Begin,
 1595   for (MachineBasicBlock::iterator I = End; I != Begin;) {
lib/CodeGen/LivePhysRegs.cpp
  157 void LivePhysRegs::addBlockLiveIns(const MachineBasicBlock &MBB) {
  211 void LivePhysRegs::addLiveOutsNoPristines(const MachineBasicBlock &MBB) {
  213   for (const MachineBasicBlock *Succ : MBB.successors())
  234 void LivePhysRegs::addLiveOuts(const MachineBasicBlock &MBB) {
  240 void LivePhysRegs::addLiveIns(const MachineBasicBlock &MBB) {
  247                           const MachineBasicBlock &MBB) {
  257 void llvm::addLiveIns(MachineBasicBlock &MBB, const LivePhysRegs &LiveRegs) {
  279 void llvm::recomputeLivenessFlags(MachineBasicBlock &MBB) {
  327                                 MachineBasicBlock &MBB) {
lib/CodeGen/LiveRangeCalc.cpp
  221     MachineBasicBlock *MBB = I.DomNode->getBlock();
  247   MachineBasicBlock *UseMBB = Indexes->getMBBFromIndex(Use.getPrevSlot());
  277                                  MachineBasicBlock &MBB, BitVector &DefOnEntry,
  286     for (MachineBasicBlock *S : B.successors())
  295   for (MachineBasicBlock *P : MBB.predecessors())
  301     MachineBasicBlock &B = *MF->getBlockNumbered(N);
  338     for (MachineBasicBlock *P : B.predecessors())
  346 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
  362     MachineBasicBlock *MBB = MF->getBlockNumbered(WorkList[i]);
  386     for (MachineBasicBlock *Pred : MBB->predecessors()) {
  468     MachineBasicBlock *MBB = MF->getBlockNumbered(BN);
  497       MachineBasicBlock *MBB = Node->getBlock();
  518         for (MachineBasicBlock *Pred : MBB->predecessors()) {
  587 bool LiveRangeCalc::isJointlyDominated(const MachineBasicBlock *MBB,
  601     const MachineBasicBlock *B = MF.getBlockNumbered(BN);
  602     for (const MachineBasicBlock *P : B->predecessors())
lib/CodeGen/LiveRangeEdit.cpp
  164 SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB,
  165                                          MachineBasicBlock::iterator MI,
lib/CodeGen/LiveRangeShrink.cpp
   99 static void BuildInstOrderMap(MachineBasicBlock::iterator Start,
  122   for (MachineBasicBlock &MBB : MF) {
  129     for (MachineBasicBlock::iterator Next = MBB.begin(); Next != MBB.end();) {
  218         MachineBasicBlock::iterator I = std::next(Insert->getIterator());
  233         MachineBasicBlock::iterator EndIter = std::next(MI.getIterator());
lib/CodeGen/LiveRegUnits.cpp
   86                             const MachineBasicBlock &MBB) {
  126 void LiveRegUnits::addLiveOuts(const MachineBasicBlock &MBB) {
  132   for (const MachineBasicBlock *Succ : MBB.successors())
  143 void LiveRegUnits::addLiveIns(const MachineBasicBlock &MBB) {
lib/CodeGen/LiveVariables.cpp
   60 LiveVariables::VarInfo::findKill(const MachineBasicBlock *MBB) const {
   93                                             MachineBasicBlock *DefBlock,
   94                                             MachineBasicBlock *MBB,
   95                                     std::vector<MachineBasicBlock*> &WorkList) {
  119                                             MachineBasicBlock *DefBlock,
  120                                             MachineBasicBlock *MBB) {
  121   std::vector<MachineBasicBlock*> WorkList;
  125     MachineBasicBlock *Pred = WorkList.back();
  131 void LiveVariables::HandleVirtRegUse(unsigned reg, MachineBasicBlock *MBB,
  177   for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
  539   MachineBasicBlock *MBB = MI.getParent();
  564 void LiveVariables::runOnBlock(MachineBasicBlock *MBB, const unsigned NumRegs) {
  601   for (MachineBasicBlock::const_succ_iterator SI = MBB->succ_begin(),
  603     MachineBasicBlock *SuccMBB = *SI;
  643   MachineBasicBlock *Entry = &MF->front();
  644   df_iterator_default_set<MachineBasicBlock*,16> Visited;
  646   for (MachineBasicBlock *MBB : depth_first_ext(Entry, Visited)) {
  709   for (const auto &MBB : Fn)
  720 bool LiveVariables::VarInfo::isLiveIn(const MachineBasicBlock &MBB,
  738 bool LiveVariables::isLiveOut(unsigned Reg, const MachineBasicBlock &MBB) {
  741   SmallPtrSet<const MachineBasicBlock *, 8> Kills;
  747   for (const MachineBasicBlock *SuccMBB : MBB.successors()) {
  763 void LiveVariables::addNewBlock(MachineBasicBlock *BB,
  764                                 MachineBasicBlock *DomBB,
  765                                 MachineBasicBlock *SuccBB) {
  770   MachineBasicBlock::iterator BBI = SuccBB->begin(), BBE = SuccBB->end();
lib/CodeGen/LocalStackSlotAllocation.cpp
   51     MachineBasicBlock::iterator MI; // Instr referencing the frame
   69     MachineBasicBlock::iterator getMachineInstr() const { return MI; }
  303   for (MachineBasicBlock &BB : Fn) {
  340   MachineBasicBlock *Entry = &Fn.front();
lib/CodeGen/LoopTraversal.cpp
   15 bool LoopTraversal::isBlockDone(MachineBasicBlock *MBB) {
   28   MachineBasicBlock *Entry = &*MF.begin();
   29   ReversePostOrderTraversal<MachineBasicBlock *> RPOT(Entry);
   30   SmallVector<MachineBasicBlock *, 4> Workqueue;
   32   for (MachineBasicBlock *MBB : RPOT) {
   42       MachineBasicBlock *ActiveMBB = &*Workqueue.back();
   46       for (MachineBasicBlock *Succ : ActiveMBB->successors()) {
   66   for (MachineBasicBlock *MBB : RPOT) {
lib/CodeGen/MIRCanonicalizerPass.cpp
   86 static std::vector<MachineBasicBlock *> GetRPOList(MachineFunction &MF) {
   89   ReversePostOrderTraversal<MachineBasicBlock *> RPOT(&*MF.begin());
   90   std::vector<MachineBasicBlock *> RPOList;
  100                           MachineBasicBlock *MBB,
  101                           std::function<MachineBasicBlock::iterator()> getPos) {
  140                                   MachineBasicBlock *MBB) {
  245     MachineBasicBlock::iterator DefI = BBE;
  246     MachineBasicBlock::iterator UseI = BBE;
  306 static bool propagateLocalCopies(MachineBasicBlock *MBB) {
  353 static bool doDefKillClear(MachineBasicBlock *MBB) {
  375 static bool runOnBasicBlock(MachineBasicBlock *MBB,
  463   std::vector<MachineBasicBlock *> RPOList = GetRPOList(MF);
lib/CodeGen/MIRNamerPass.cpp
   59     ReversePostOrderTraversal<MachineBasicBlock *> RPOT(&*MF.begin());
lib/CodeGen/MIRParser/MIParser.cpp
  395   parseBasicBlockDefinitions(DenseMap<unsigned, MachineBasicBlock *> &MBBSlots);
  398   bool parseStandaloneMBB(MachineBasicBlock *&MBB);
  406   parseBasicBlockDefinition(DenseMap<unsigned, MachineBasicBlock *> &MBBSlots);
  407   bool parseBasicBlock(MachineBasicBlock &MBB,
  408                        MachineBasicBlock *&AddFalthroughFrom);
  409   bool parseBasicBlockLiveins(MachineBasicBlock &MBB);
  410   bool parseBasicBlockSuccessors(MachineBasicBlock &MBB);
  429   bool parseMBBReference(MachineBasicBlock *&MBB);
  585     DenseMap<unsigned, MachineBasicBlock *> &MBBSlots) {
  637   auto *MBB = MF.CreateMachineBasicBlock(BB);
  652     DenseMap<unsigned, MachineBasicBlock *> &MBBSlots) {
  695 bool MIParser::parseBasicBlockLiveins(MachineBasicBlock &MBB) {
  728 bool MIParser::parseBasicBlockSuccessors(MachineBasicBlock &MBB) {
  738     MachineBasicBlock *SuccMBB = nullptr;
  759 bool MIParser::parseBasicBlock(MachineBasicBlock &MBB,
  760                                MachineBasicBlock *&AddFalthroughFrom) {
  838     SmallVector<MachineBasicBlock*,4> Successors;
  841     for (MachineBasicBlock *Succ : Successors)
  864   MachineBasicBlock *AddFalthroughFrom = nullptr;
  866     MachineBasicBlock *MBB = nullptr;
  993 bool MIParser::parseStandaloneMBB(MachineBasicBlock *&MBB) {
 1652 bool MIParser::parseMBBReference(MachineBasicBlock *&MBB) {
 1672   MachineBasicBlock *MBB;
 3057                              MachineBasicBlock *&MBB, StringRef Src,
lib/CodeGen/MIRParser/MIRParser.cpp
  144                          MachineBasicBlock *&MBB,
  321   for (const MachineBasicBlock &MBB : MF) {
  613   for (const MachineBasicBlock &MBB : MF) {
  651     MachineBasicBlock *MBB = nullptr;
  657     MachineBasicBlock *MBB = nullptr;
  842     std::vector<MachineBasicBlock *> Blocks;
  844       MachineBasicBlock *MBB = nullptr;
  860                                       MachineBasicBlock *&MBB,
lib/CodeGen/MIRPrinter.cpp
  150   bool canPredictBranchProbabilities(const MachineBasicBlock &MBB) const;
  151   bool canPredictSuccessors(const MachineBasicBlock &MBB) const;
  160   void print(const MachineBasicBlock &MBB);
  230   for (const auto &MBB : MF) {
  476     MachineBasicBlock::const_instr_iterator CallI = CSInfo.first->getIterator();
  532     for (const auto *MBB : Table.MBBs) {
  549 void llvm::guessSuccessors(const MachineBasicBlock &MBB,
  550                            SmallVectorImpl<MachineBasicBlock*> &Result,
  552   SmallPtrSet<MachineBasicBlock*,8> Seen;
  560       MachineBasicBlock *Succ = MO.getMBB();
  566   MachineBasicBlock::const_iterator I = MBB.getLastNonDebugInstr();
  571 MIPrinter::canPredictBranchProbabilities(const MachineBasicBlock &MBB) const {
  587 bool MIPrinter::canPredictSuccessors(const MachineBasicBlock &MBB) const {
  588   SmallVector<MachineBasicBlock*,8> GuessedSuccs;
  595       MachineBasicBlock *Next = const_cast<MachineBasicBlock*>(&*NextI);
  605 void MIPrinter::print(const MachineBasicBlock &MBB) {
lib/CodeGen/MIRVRegNamerUtils.cpp
   51 std::vector<MachineInstr *> populateCandidates(MachineBasicBlock *MBB) {
   84                      const MachineBasicBlock *MBB) {
  253 bool renameVRegs(MachineBasicBlock *MBB,
  346 bool NamedVRegCursor::renameVRegs(MachineBasicBlock *MBB) {
lib/CodeGen/MIRVRegNamerUtils.h
   86   bool renameVRegs(MachineBasicBlock *MBB);
lib/CodeGen/MachineBasicBlock.cpp
   74 raw_ostream &llvm::operator<<(raw_ostream &OS, const MachineBasicBlock &MBB) {
   79 Printable llvm::printMBBReference(const MachineBasicBlock &MBB) {
   91     MachineBasicBlock *N) {
   97   for (MachineBasicBlock::instr_iterator
  103     MachineBasicBlock *N) {
  160 MachineBasicBlock::iterator MachineBasicBlock::getFirstNonPHI() {
  169 MachineBasicBlock::iterator
  184 MachineBasicBlock::iterator
  200 MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminator() {
  209 MachineBasicBlock::instr_iterator MachineBasicBlock::getFirstInstrTerminator() {
  218 MachineBasicBlock::iterator MachineBasicBlock::getFirstNonDebugInstr() {
  223 MachineBasicBlock::iterator MachineBasicBlock::getLastNonDebugInstr() {
  459 MachineBasicBlock::livein_iterator
  460 MachineBasicBlock::removeLiveIn(MachineBasicBlock::livein_iterator I) {
  524 void MachineBasicBlock::moveBefore(MachineBasicBlock *NewAfter) {
  528 void MachineBasicBlock::moveAfter(MachineBasicBlock *NewBefore) {
  538   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  593   MachineBasicBlock *FallthroughBB = nullptr;
  655 void MachineBasicBlock::addSuccessor(MachineBasicBlock *Succ,
  665 void MachineBasicBlock::addSuccessorWithoutProb(MachineBasicBlock *Succ) {
  674 void MachineBasicBlock::splitSuccessor(MachineBasicBlock *Old,
  675                                        MachineBasicBlock *New,
  693 void MachineBasicBlock::removeSuccessor(MachineBasicBlock *Succ,
  699 MachineBasicBlock::succ_iterator
  716 void MachineBasicBlock::replaceSuccessor(MachineBasicBlock *Old,
  717                                          MachineBasicBlock *New) {
  756 void MachineBasicBlock::copySuccessor(MachineBasicBlock *Orig,
  764 void MachineBasicBlock::addPredecessor(MachineBasicBlock *Pred) {
  768 void MachineBasicBlock::removePredecessor(MachineBasicBlock *Pred) {
  774 void MachineBasicBlock::transferSuccessors(MachineBasicBlock *FromMBB) {
  779     MachineBasicBlock *Succ = *FromMBB->succ_begin();
  794 MachineBasicBlock::transferSuccessorsAndUpdatePHIs(MachineBasicBlock *FromMBB) {
  799     MachineBasicBlock *Succ = *FromMBB->succ_begin();
  813 bool MachineBasicBlock::isPredecessor(const MachineBasicBlock *MBB) const {
  817 bool MachineBasicBlock::isSuccessor(const MachineBasicBlock *MBB) const {
  821 bool MachineBasicBlock::isLayoutSuccessor(const MachineBasicBlock *MBB) const {
  826 MachineBasicBlock *MachineBasicBlock::getFallThrough() {
  838   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  874 MachineBasicBlock *MachineBasicBlock::SplitCriticalEdge(MachineBasicBlock *Succ,
  874 MachineBasicBlock *MachineBasicBlock::SplitCriticalEdge(MachineBasicBlock *Succ,
  882   MachineBasicBlock *NMBB = MF->CreateMachineBasicBlock();
 1026     for (MachineBasicBlock::instr_iterator
 1106     const MachineBasicBlock *Succ) const {
 1122   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1154 MachineBasicBlock::instr_iterator
 1167 MachineBasicBlock::instr_iterator
 1181 MachineBasicBlock *MachineBasicBlock::removeFromParent() {
 1195 void MachineBasicBlock::ReplaceUsesOfBlockWith(MachineBasicBlock *Old,
 1196                                                MachineBasicBlock *New) {
 1199   MachineBasicBlock::instr_iterator I = instr_end();
 1216 void MachineBasicBlock::replacePhiUsesWith(MachineBasicBlock *Old,
 1217                                            MachineBasicBlock *New) {
 1233 bool MachineBasicBlock::CorrectExtraCFGEdges(MachineBasicBlock *DestA,
 1234                                              MachineBasicBlock *DestB,
 1252   MachineBasicBlock *FallThru = getNextNode();
 1269   SmallPtrSet<const MachineBasicBlock*, 8> SeenMBBs;
 1270   MachineBasicBlock::succ_iterator SI = succ_begin();
 1272     const MachineBasicBlock *MBB = *SI;
 1360 MachineBasicBlock::const_probability_iterator
 1362     MachineBasicBlock::const_succ_iterator I) const {
 1370 MachineBasicBlock::probability_iterator
 1371 MachineBasicBlock::getProbabilityIterator(MachineBasicBlock::succ_iterator I) {
 1384 MachineBasicBlock::LivenessQueryResult
 1412     for (MachineBasicBlock *S : successors()) {
 1413       for (const MachineBasicBlock::RegisterMaskPair &LI : S->liveins()) {
 1468     for (const MachineBasicBlock::RegisterMaskPair &LI : liveins())
 1497 MachineBasicBlock::livein_iterator MachineBasicBlock::livein_begin() const {
lib/CodeGen/MachineBlockFrequencyInfo.cpp
   88   using NodeRef = const MachineBasicBlock *;
   89   using ChildIteratorType = MachineBasicBlock::const_succ_iterator;
  119   DenseMap<const MachineBasicBlock *, int> LayoutOrderMap;
  124   std::string getNodeLabel(const MachineBasicBlock *Node,
  146   std::string getNodeAttributes(const MachineBasicBlock *Node,
  152   std::string getEdgeAttributes(const MachineBasicBlock *Node, EdgeIter EI,
  227 MachineBlockFrequencyInfo::getBlockFreq(const MachineBasicBlock *MBB) const {
  232     const MachineBasicBlock *MBB) const {
  244 MachineBlockFrequencyInfo::isIrrLoopHeader(const MachineBasicBlock *MBB) {
  265                                           const MachineBasicBlock *MBB) const {
lib/CodeGen/MachineBlockPlacement.cpp
  202 using BlockToChainMapType = DenseMap<const MachineBasicBlock *, BlockChain *>;
  220   SmallVector<MachineBasicBlock *, 4> Blocks;
  236   BlockChain(BlockToChainMapType &BlockToChain, MachineBasicBlock *BB)
  243   using iterator = SmallVectorImpl<MachineBasicBlock *>::iterator;
  244   using const_iterator = SmallVectorImpl<MachineBasicBlock *>::const_iterator;
  254   bool remove(MachineBasicBlock* BB) {
  270   void merge(MachineBasicBlock *BB, BlockChain *Chain) {
  288     for (MachineBasicBlock *ChainBB : *Chain) {
  298     for (MachineBasicBlock *MBB : *this)
  317   using BlockFilterSet = SmallSetVector<const MachineBasicBlock *, 16>;
  321     MachineBasicBlock *BB;
  328     MachineBasicBlock *Src;
  329     MachineBasicBlock *Dest;
  333   SmallVector<MachineBasicBlock *, 16> BlockWorkList;
  334   SmallVector<MachineBasicBlock *, 16> EHPadWorkList;
  337   DenseMap<const MachineBasicBlock *, BlockAndTailDupResult> ComputedEdges;
  354   MachineBasicBlock *PreferredLoopExit;
  387   DenseMap<const MachineBasicBlock *, BlockChain *> BlockToChain;
  394   SmallPtrSet<MachineBasicBlock *, 4> BlocksWithUnanalyzableExits;
  400       const BlockChain &Chain, const MachineBasicBlock *LoopHeaderBB,
  406       const BlockChain &Chain, const MachineBasicBlock *BB,
  407       const MachineBasicBlock *LoopHeaderBB,
  412       const MachineBasicBlock *BB, const BlockChain &Chain,
  414       SmallVector<MachineBasicBlock *, 4> &Successors);
  416       const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  416       const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  420       MachineBasicBlock *BB, MachineBasicBlock *&LPred,
  420       MachineBasicBlock *BB, MachineBasicBlock *&LPred,
  421       const MachineBasicBlock *LoopHeaderBB,
  425       MachineBasicBlock *BB, MachineBasicBlock *LPred,
  425       MachineBasicBlock *BB, MachineBasicBlock *LPred,
  430       const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  430       const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  435       const MachineBasicBlock *BB, const BlockChain &Chain,
  437   MachineBasicBlock *selectBestCandidateBlock(
  438       const BlockChain &Chain, SmallVectorImpl<MachineBasicBlock *> &WorkList);
  439   MachineBasicBlock *getFirstUnplacedBlock(
  449   void fillWorkLists(const MachineBasicBlock *MBB,
  453   void buildChain(const MachineBasicBlock *BB, BlockChain &Chain,
  455   bool canMoveBottomBlockToTop(const MachineBasicBlock *BottomBlock,
  456                                const MachineBasicBlock *OldTop);
  457   bool hasViableTopFallthrough(const MachineBasicBlock *Top,
  459   BlockFrequency TopFallThroughFreq(const MachineBasicBlock *Top,
  461   BlockFrequency FallThroughGains(const MachineBasicBlock *NewTop,
  462                                   const MachineBasicBlock *OldTop,
  463                                   const MachineBasicBlock *ExitBB,
  465   MachineBasicBlock *findBestLoopTopHelper(MachineBasicBlock *OldTop,
  465   MachineBasicBlock *findBestLoopTopHelper(MachineBasicBlock *OldTop,
  467   MachineBasicBlock *findBestLoopTop(
  469   MachineBasicBlock *findBestLoopExit(
  475       BlockChain &LoopChain, const MachineBasicBlock *ExitingBB,
  485   bool shouldTailDuplicate(MachineBasicBlock *BB);
  489     const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  489     const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  494   bool isTrellis(const MachineBasicBlock *BB,
  495                  const SmallVectorImpl<MachineBasicBlock *> &ViableSuccs,
  500       const MachineBasicBlock *BB,
  501       const SmallVectorImpl<MachineBasicBlock *> &ViableSuccs,
  507       const MachineBasicBlock *BB,
  513       const MachineBasicBlock *BB, MachineBasicBlock *Succ,
  513       const MachineBasicBlock *BB, MachineBasicBlock *Succ,
  564 static std::string getBlockName(const MachineBasicBlock *BB) {
  581     const BlockChain &Chain, const MachineBasicBlock *LoopHeaderBB,
  585   for (MachineBasicBlock *MBB : Chain) {
  597     const BlockChain &Chain, const MachineBasicBlock *MBB,
  598     const MachineBasicBlock *LoopHeaderBB, const BlockFilterSet *BlockFilter) {
  603   for (MachineBasicBlock *Succ : MBB->successors()) {
  617     auto *NewBB = *SuccChain.begin();
  630     const MachineBasicBlock *BB, const BlockChain &Chain,
  632     SmallVector<MachineBasicBlock *, 4> &Successors) {
  650   for (MachineBasicBlock *Succ : BB->successors()) {
  691 hasSameSuccessors(MachineBasicBlock &BB,
  692                   SmallPtrSetImpl<const MachineBasicBlock *> &Successors) {
  698   for (MachineBasicBlock *Succ : BB.successors())
  707 bool MachineBlockPlacement::shouldTailDuplicate(MachineBasicBlock *BB) {
  737     const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  737     const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
  763   MachineBasicBlock *PDom = nullptr;
  764   SmallVector<MachineBasicBlock *, 4> SuccSuccs;
  781   for (MachineBasicBlock *SuccSucc : SuccSuccs) {
  794   for (MachineBasicBlock *SuccPred : Succ->predecessors()) {
  891     const MachineBasicBlock *BB,
  892     const SmallVectorImpl<MachineBasicBlock *> &ViableSuccs,
  899   SmallPtrSet<const MachineBasicBlock *, 2> Successors(BB->succ_begin(),
  902   SmallPtrSet<const MachineBasicBlock *, 8> SeenPreds;
  904   for (MachineBasicBlock *Succ : ViableSuccs) {
  910         for (MachineBasicBlock *CheckSucc : SuccPred->successors())
  942     const MachineBasicBlock *BB,
  986     const MachineBasicBlock *BB,
  987     const SmallVectorImpl<MachineBasicBlock *> &ViableSuccs,
  992   SmallPtrSet<const MachineBasicBlock *, 4> Successors(BB->succ_begin(),
 1005     for (MachineBasicBlock *SuccPred : Succ->predecessors()) {
 1037     MachineBasicBlock *Succ1 = BestA.Dest;
 1038     MachineBasicBlock *Succ2 = BestB.Dest;
 1071     const MachineBasicBlock *BB, MachineBasicBlock *Succ,
 1071     const MachineBasicBlock *BB, MachineBasicBlock *Succ,
 1077   SmallPtrSet<const MachineBasicBlock *, 4> Successors(BB->succ_begin(),
 1079   for (MachineBasicBlock *Pred : Succ->predecessors()) {
 1147     std::vector<MachineBasicBlock *> Edges;
 1149     TriangleChain(MachineBasicBlock *src, MachineBasicBlock *dst)
 1149     TriangleChain(MachineBasicBlock *src, MachineBasicBlock *dst)
 1152     void append(MachineBasicBlock *dst) {
 1160     MachineBasicBlock *getKey() const {
 1171   DenseMap<const MachineBasicBlock *, TriangleChain> TriangleChainMap;
 1172   for (MachineBasicBlock &BB : *F) {
 1176     MachineBasicBlock *PDom = nullptr;
 1177     for (MachineBasicBlock *Succ : BB.successors()) {
 1197     for (MachineBasicBlock* Pred : PDom->predecessors()) {
 1239     MachineBasicBlock *dst = Chain.Edges.back();
 1241     for (MachineBasicBlock *src : reverse(Chain.Edges)) {
 1258       const MachineBasicBlock *BB) {
 1262     const MachineBasicBlock *Succ1 = *BB->succ_begin();
 1263     const MachineBasicBlock *Succ2 = *(BB->succ_begin() + 1);
 1290     const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
 1290     const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
 1419   for (MachineBasicBlock *Pred : Succ->predecessors()) {
 1470     const MachineBasicBlock *BB, const BlockChain &Chain,
 1477   SmallVector<MachineBasicBlock *, 4> Successors;
 1488     MachineBasicBlock *Succ = FoundEdge->second.BB;
 1505   SmallVector<std::tuple<BranchProbability, MachineBasicBlock *>, 4>
 1507   for (MachineBasicBlock *Succ : Successors) {
 1550     MachineBasicBlock *Succ;
 1581 MachineBasicBlock *MachineBlockPlacement::selectBestCandidateBlock(
 1582     const BlockChain &Chain, SmallVectorImpl<MachineBasicBlock *> &WorkList) {
 1598   MachineBasicBlock *BestBlock = nullptr;
 1600   for (MachineBasicBlock *MBB : WorkList) {
 1650 MachineBasicBlock *MachineBlockPlacement::getFirstUnplacedBlock(
 1670     const MachineBasicBlock *MBB,
 1680   for (MachineBasicBlock *ChainBB : Chain) {
 1683     for (MachineBasicBlock *Pred : ChainBB->predecessors()) {
 1695   MachineBasicBlock *BB = *Chain.begin();
 1703     const MachineBasicBlock *HeadBB, BlockChain &Chain,
 1709   const MachineBasicBlock *LoopHeaderBB = HeadBB;
 1711   MachineBasicBlock *BB = *std::prev(Chain.end());
 1721     MachineBasicBlock* BestSucc = Result.BB;
 1786     const MachineBasicBlock *BottomBlock,
 1787     const MachineBasicBlock *OldTop) {
 1790   MachineBasicBlock *Pred = *BottomBlock->pred_begin();
 1794   MachineBasicBlock *OtherBB = *Pred->succ_begin();
 1806     const MachineBasicBlock *Top,
 1809   for (MachineBasicBlock *Pred : Top->predecessors()) {
 1817       for (MachineBasicBlock *Succ : Pred->successors()) {
 1862     const MachineBasicBlock *NewTop,
 1863     const MachineBasicBlock *OldTop,
 1864     const MachineBasicBlock *ExitBB,
 1875    MachineBasicBlock *BestPred = nullptr;
 1877    for (MachineBasicBlock *Pred : NewTop->predecessors()) {
 1895      for (MachineBasicBlock *Succ : BestPred->successors()) {
 1951 MachineBasicBlock *
 1953     MachineBasicBlock *OldTop,
 1967   MachineBasicBlock *BestPred = nullptr;
 1968   for (MachineBasicBlock *Pred : OldTop->predecessors()) {
 1979     MachineBasicBlock *OtherBB = nullptr;
 2018 MachineBasicBlock *
 2031   MachineBasicBlock *OldTop = nullptr;
 2032   MachineBasicBlock *NewTop = L.getHeader();
 2047 MachineBasicBlock *
 2065   MachineBasicBlock *ExitingBB = nullptr;
 2069   SmallPtrSet<MachineBasicBlock *, 4> BlocksExitingToOuterLoop;
 2073   for (MachineBasicBlock *MBB : L.getBlocks()) {
 2084     MachineBasicBlock *OldExitingBB = ExitingBB;
 2087     for (MachineBasicBlock *Succ : MBB->successors()) {
 2171     const MachineBasicBlock *Top,
 2173   for (MachineBasicBlock *Pred : Top->predecessors()) {
 2181       for (MachineBasicBlock *Succ : Pred->successors()) {
 2205                                        const MachineBasicBlock *ExitingBB,
 2211   MachineBasicBlock *Top = *LoopChain.begin();
 2212   MachineBasicBlock *Bottom = *std::prev(LoopChain.end());
 2224     for (MachineBasicBlock *Succ : Bottom->successors()) {
 2264     MachineBasicBlock *NextBlockInChain = *std::next(ExitIt);
 2310   MachineBasicBlock *ChainHeaderBB = *LoopChain.begin();
 2311   for (auto *Pred : ChainHeaderBB->predecessors()) {
 2330   SmallVector<std::pair<MachineBasicBlock *, BlockFrequency>, 4> ExitsWithFreq;
 2333     for (auto *Succ : BB->successors()) {
 2446     for (MachineBasicBlock *LoopBB : L.getBlocks()) {
 2487   MachineBasicBlock *LoopTop = findBestLoopTop(L, LoopBlockSet);
 2510   for (const MachineBasicBlock *LoopBB : LoopBlockSet)
 2563     MachineBasicBlock *BB = &*FI;
 2570       MachineBasicBlock *TBB = nullptr, *FBB = nullptr; // For AnalyzeBranch.
 2575       MachineBasicBlock *NextBB = &*NextFI;
 2602   for (MachineBasicBlock &MBB : *F)
 2609   using FunctionBlockSetType = SmallPtrSet<MachineBasicBlock *, 16>;
 2637   for (MachineBasicBlock *ChainBB : FunctionChain) {
 2649     MachineBasicBlock *PrevBB = &*std::prev(MachineFunction::iterator(ChainBB));
 2655     MachineBasicBlock *TBB = nullptr, *FBB = nullptr; // For AnalyzeBranch.
 2697   MachineBasicBlock *TBB = nullptr, *FBB = nullptr; // For AnalyzeBranch.
 2715   for (MachineBasicBlock *ChainBB : FunctionChain) {
 2717     MachineBasicBlock *TBB = nullptr, *FBB = nullptr; // For AnalyzeBranch.
 2755   for (MachineBasicBlock *ChainBB : FunctionChain) {
 2779     MachineBasicBlock *LoopHeader = L->getHeader();
 2786     MachineBasicBlock *LayoutPred =
 2824     MachineBasicBlock *BB, MachineBasicBlock *&LPred,
 2824     MachineBasicBlock *BB, MachineBasicBlock *&LPred,
 2825     const MachineBasicBlock *LoopHeaderBB,
 2844     MachineBasicBlock *DupBB, *DupPred;
 2886     MachineBasicBlock *BB, MachineBasicBlock *LPred,
 2886     MachineBasicBlock *BB, MachineBasicBlock *LPred,
 2922           SmallVectorImpl<MachineBasicBlock *> &RemoveList = BlockWorkList;
 2949   SmallVector<MachineBasicBlock *, 8> DuplicatedPreds;
 2956   for (MachineBasicBlock *Pred : DuplicatedPreds) {
 2964     for (MachineBasicBlock *NewSucc : Pred->successors()) {
 3066     for (MachineBasicBlock &MBB : MF)
 3142   for (MachineBasicBlock &MBB : F) {
 3148     for (MachineBasicBlock *Succ : MBB.successors()) {
lib/CodeGen/MachineBranchProbabilityInfo.cpp
   43     const MachineBasicBlock *Src,
   44     MachineBasicBlock::const_succ_iterator Dst) const {
   49     const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const {
   49     const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const {
   56     const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const {
   56     const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const {
   61 MachineBasicBlock *
   62 MachineBranchProbabilityInfo::getHotSucc(MachineBasicBlock *MBB) const {
   64   MachineBasicBlock *MaxSucc = nullptr;
   65   for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin(),
   82     raw_ostream &OS, const MachineBasicBlock *Src,
   83     const MachineBasicBlock *Dst) const {
lib/CodeGen/MachineCSE.cpp
  108     DenseMap<MachineBasicBlock *, ScopeType *> ScopeMap;
  109     DenseMap<MachineInstr *, MachineBasicBlock *, MachineInstrExpressionTrait>
  116                                        MachineBasicBlock *MBB);
  118                                 MachineBasicBlock::const_iterator I,
  121                                const MachineBasicBlock *MBB,
  129                            MachineBasicBlock *CSBB, MachineInstr *MI);
  130     void EnterScope(MachineBasicBlock *MBB);
  131     void ExitScope(MachineBasicBlock *MBB);
  132     bool ProcessBlockCSE(MachineBasicBlock *MBB);
  138     bool ProcessBlockPRE(MachineDominatorTree *MDT, MachineBasicBlock *MBB);
  142     bool isProfitableToHoistInto(MachineBasicBlock *CandidateBB,
  143                                  MachineBasicBlock *MBB,
  144                                  MachineBasicBlock *MBB1);
  165                                                MachineBasicBlock *MBB) {
  222                                    MachineBasicBlock::const_iterator I,
  277                                        const MachineBasicBlock *MBB,
  299   MachineBasicBlock::const_iterator I = MI; I = std::next(I);
  335   const MachineBasicBlock *MBB = MI->getParent();
  336   const MachineBasicBlock *CSMBB = CSMI->getParent();
  352   MachineBasicBlock::const_iterator I = CSMI; I = std::next(I);
  353   MachineBasicBlock::const_iterator E = MI;
  354   MachineBasicBlock::const_iterator EE = CSMBB->end();
  432                                    MachineBasicBlock *CSBB, MachineInstr *MI) {
  457     MachineBasicBlock *BB = MI->getParent();
  496 void MachineCSE::EnterScope(MachineBasicBlock *MBB) {
  502 void MachineCSE::ExitScope(MachineBasicBlock *MBB) {
  504   DenseMap<MachineBasicBlock*, ScopeType*>::iterator SI = ScopeMap.find(MBB);
  510 bool MachineCSE::ProcessBlockCSE(MachineBasicBlock *MBB) {
  516   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E; ) {
  673         for (MachineBasicBlock::iterator II = CSMI, IE = MI; II != IE; ++II)
  758     MachineBasicBlock *MBB = Node->getBlock();
  792                                  MachineBasicBlock *MBB) {
  794   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;) {
  861     MachineBasicBlock *MBB = Node->getBlock();
  869 bool MachineCSE::isProfitableToHoistInto(MachineBasicBlock *CandidateBB,
  870                                          MachineBasicBlock *MBB,
  871                                          MachineBasicBlock *MBB1) {
lib/CodeGen/MachineCombiner.cpp
   86   bool combineInstructions(MachineBasicBlock *);
   94   improvesCriticalPathLen(MachineBasicBlock *MBB, MachineInstr *Root,
  100   bool preservesResourceLen(MachineBasicBlock *MBB,
  112   void verifyPatternOrder(MachineBasicBlock *MBB, MachineInstr &Root,
  299     MachineBasicBlock *MBB, MachineInstr *Root,
  370     MachineBasicBlock *MBB, MachineTraceMetrics::Trace BlockTrace,
  379   SmallVector <const MachineBasicBlock *, 1> MBBarr;
  430 static void insertDeleteInstructions(MachineBasicBlock *MBB, MachineInstr &MI,
  462     MachineBasicBlock *MBB, MachineInstr &Root,
  495 bool MachineCombiner::combineInstructions(MachineBasicBlock *MBB) {
  655   for (auto &MBB : MF)
lib/CodeGen/MachineCopyPropagation.cpp
  213   void CopyPropagateBlock(MachineBasicBlock &MBB);
  461 void MachineCopyPropagation::CopyPropagateBlock(MachineBasicBlock &MBB) {
  464   for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end(); I != E; ) {
  650   for (MachineBasicBlock &MBB : MF)
lib/CodeGen/MachineDominators.cpp
   59   DT.reset(new DomTreeBase<MachineBasicBlock>());
  102     MachineBasicBlock *Succ = Edge.ToBB;
  105     for (MachineBasicBlock *PredBB : Succ->predecessors()) {
lib/CodeGen/MachineFrameInfo.cpp
  197   for (const MachineBasicBlock &MBB : MF) {
lib/CodeGen/MachineFunction.cpp
  123 void ilist_alloc_traits<MachineBasicBlock>::deleteNode(MachineBasicBlock *MBB) {
  288 void MachineFunction::RenumberBlocks(MachineBasicBlock *MBB) {
  341 MachineInstr &MachineFunction::CloneMachineInstrBundle(MachineBasicBlock &MBB,
  342     MachineBasicBlock::iterator InsertBefore, const MachineInstr &Orig) {
  344   MachineBasicBlock::const_instr_iterator I = Orig.getIterator();
  386 MachineBasicBlock *
  388   return new (BasicBlockRecycler.Allocate<MachineBasicBlock>(Allocator))
  389              MachineBasicBlock(*this, bb);
  394 MachineFunction::DeleteMachineBasicBlock(MachineBasicBlock *MBB) {
  514   for (const auto &BB : *this) {
  533     std::string getNodeLabel(const MachineBasicBlock *Node,
  633 MachineFunction::getOrCreateLandingPadInfo(MachineBasicBlock *LandingPad) {
  645 void MachineFunction::addInvoke(MachineBasicBlock *LandingPad,
  652 MCSymbol *MachineFunction::addLandingPad(MachineBasicBlock *LandingPad) {
  699 void MachineFunction::addCatchTypeInfo(MachineBasicBlock *LandingPad,
  706 void MachineFunction::addFilterTypeInfo(MachineBasicBlock *LandingPad,
  761 void MachineFunction::addCleanup(MachineBasicBlock *LandingPad) {
  766 void MachineFunction::addSEHCatchHandler(MachineBasicBlock *LandingPad,
  776 void MachineFunction::addSEHCleanupHandler(MachineBasicBlock *LandingPad,
  905                                const std::vector<MachineBasicBlock*> &DestBBs) {
  913 bool MachineJumpTableInfo::ReplaceMBBInJumpTables(MachineBasicBlock *Old,
  914                                                   MachineBasicBlock *New) {
  925                                                  MachineBasicBlock *Old,
  926                                                  MachineBasicBlock *New) {
lib/CodeGen/MachineInstr.cpp
   80   if (const MachineBasicBlock *MBB = MI.getParent())
  153   if (MachineBasicBlock *MBB = getParent())
  177   MachineBasicBlock *MBB = getParent();
  570   for (MachineBasicBlock::const_instr_iterator MII = getIterator();; ++MII) {
  597     MachineBasicBlock::const_instr_iterator I1 = getIterator();
  598     MachineBasicBlock::const_instr_iterator I2 = Other.getIterator();
  676   MachineBasicBlock *MBB = getParent();
  735   MachineBasicBlock::instr_iterator Pred = getIterator();
  744   MachineBasicBlock::instr_iterator Succ = getIterator();
  753   MachineBasicBlock::instr_iterator Pred = getIterator();
  762   MachineBasicBlock::instr_iterator Succ = getIterator();
  920   MachineBasicBlock::const_instr_iterator I = getIterator();
 2007   if (const MachineBasicBlock *MBB = getParent())
 2048 MachineInstrBuilder llvm::BuildMI(MachineBasicBlock &BB,
 2049                                   MachineBasicBlock::iterator I,
 2059 MachineInstrBuilder llvm::BuildMI(MachineBasicBlock &BB,
 2060                                   MachineBasicBlock::iterator I,
 2085 MachineInstr *llvm::buildDbgValueForSpill(MachineBasicBlock &BB,
 2086                                           MachineBasicBlock::iterator I,
 2110   MachineBasicBlock::iterator DI = MI; ++DI;
 2111   for (MachineBasicBlock::iterator DE = MI.getParent()->end();
lib/CodeGen/MachineInstrBundle.cpp
   50     MachineBasicBlock *MBB = &*I;
   52     for (MachineBasicBlock::instr_iterator MII = MBB->instr_begin(),
  110 static DebugLoc getDebugLoc(MachineBasicBlock::instr_iterator FirstMI,
  124 void llvm::finalizeBundle(MachineBasicBlock &MBB,
  125                           MachineBasicBlock::instr_iterator FirstMI,
  243 MachineBasicBlock::instr_iterator
  246   MachineBasicBlock::instr_iterator E = MBB.instr_end();
  247   MachineBasicBlock::instr_iterator LastMI = std::next(FirstMI);
  259     MachineBasicBlock &MBB = *I;
  260     MachineBasicBlock::instr_iterator MII = MBB.instr_begin();
  261     MachineBasicBlock::instr_iterator MIE = MBB.instr_end();
lib/CodeGen/MachineLICM.cpp
  111     MachineBasicBlock *CurPreheader; // The preheader for CurLoop.
  114     SmallVector<MachineBasicBlock *, 8> ExitBlocks;
  116     bool isExitBlock(const MachineBasicBlock *MBB) const {
  206     bool IsGuaranteedToExecute(MachineBasicBlock *BB);
  208     void EnterScope(MachineBasicBlock *MBB);
  210     void ExitScope(MachineBasicBlock *MBB);
  223     void InitRegPressure(MachineBasicBlock *BB);
  244     bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader);
  246     void InitCSEMap(MachineBasicBlock *BB);
  248     MachineBasicBlock *getCurPreheader();
  489   MachineBasicBlock *Preheader = getCurPreheader();
  502   for (MachineBasicBlock *BB : CurLoop->getBlocks()) {
  523   MachineBasicBlock::iterator TI = Preheader->getFirstTerminator();
  574   for (MachineBasicBlock *BB : CurLoop->getBlocks()) {
  590   MachineBasicBlock *Preheader = getCurPreheader();
  599   MachineBasicBlock *MBB = MI->getParent();
  613 bool MachineLICMBase::IsGuaranteedToExecute(MachineBasicBlock *BB) {
  619     SmallVector<MachineBasicBlock*, 8> CurrentLoopExitingBlocks;
  621     for (MachineBasicBlock *CurrentLoopExitingBlock : CurrentLoopExitingBlocks)
  632 void MachineLICMBase::EnterScope(MachineBasicBlock *MBB) {
  639 void MachineLICMBase::ExitScope(MachineBasicBlock *MBB) {
  671   MachineBasicBlock *Preheader = getCurPreheader();
  685     MachineBasicBlock *BB = Node->getBlock();
  728     MachineBasicBlock *MBB = Node->getBlock();
  734     for (MachineBasicBlock::iterator
  736       MachineBasicBlock::iterator NextMII = MII; ++NextMII;
  754   MachineBasicBlock *Preheader = getCurPreheader();
  759   for (MachineBasicBlock::instr_iterator I = Preheader->instr_begin();
  774     MachineBasicBlock *B = nullptr;
  807 void MachineLICMBase::InitRegPressure(MachineBasicBlock *BB) {
  815     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1318   MachineBasicBlock *MBB = MI->getParent();
 1319   MachineBasicBlock::iterator Pos = MI;
 1341 void MachineLICMBase::InitCSEMap(MachineBasicBlock *BB) {
 1435 bool MachineLICMBase::Hoist(MachineInstr *MI, MachineBasicBlock *Preheader) {
 1503 MachineBasicBlock *MachineLICMBase::getCurPreheader() {
 1514       MachineBasicBlock *Pred = CurLoop->getLoopPredecessor();
lib/CodeGen/MachineLoopInfo.cpp
   54 MachineBasicBlock *MachineLoop::getTopBlock() {
   55   MachineBasicBlock *TopMBB = getHeader();
   58     MachineBasicBlock *PriorMBB = &*std::prev(TopMBB->getIterator());
   69 MachineBasicBlock *MachineLoop::getBottomBlock() {
   70   MachineBasicBlock *BotMBB = getHeader();
   73     MachineBasicBlock *NextMBB = &*std::next(BotMBB->getIterator());
   84 MachineBasicBlock *MachineLoop::findLoopControlBlock() {
   85   if (MachineBasicBlock *Latch = getLoopLatch()) {
   96   if (MachineBasicBlock *PHeadMBB = getLoopPreheader())
  103   if (MachineBasicBlock *HeadMBB = getHeader())
  110 MachineBasicBlock *
  113   if (MachineBasicBlock *PB = L->getLoopPreheader())
  119   MachineBasicBlock *HB = L->getHeader(), *LB = L->getLoopLatch();
  123   MachineBasicBlock *Preheader = nullptr;
  124   for (MachineBasicBlock *P : HB->predecessors()) {
  135   for (MachineBasicBlock *S : Preheader->successors()) {
lib/CodeGen/MachineLoopUtils.cpp
   19                                         MachineBasicBlock *BB) {
   20   MachineBasicBlock *PB = MI.getParent();
   26 MachineBasicBlock *llvm::PeelSingleBlockLoop(LoopPeelDirection Direction,
   27                                              MachineBasicBlock *Loop,
   31   MachineBasicBlock *Preheader = *Loop->pred_begin();
   34   MachineBasicBlock *Exit = *Loop->succ_begin();
   38   MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock());
  119     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
lib/CodeGen/MachineOperand.cpp
   42     if (const MachineBasicBlock *MBB = MI->getParent())
lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
   34 MachineOptimizationRemarkEmitter::computeHotness(const MachineBasicBlock &MBB) {
   43   const MachineBasicBlock *MBB = Remark.getBlock();
lib/CodeGen/MachineOutliner.cpp
  621   DenseMap<MachineBasicBlock *, unsigned> MBBFlagsMap;
  628   std::vector<MachineBasicBlock::iterator> InstrList;
  643       MachineBasicBlock::iterator &It, bool &CanOutlineWithPrevInstr,
  696       MachineBasicBlock::iterator &It, bool &CanOutlineWithPrevInstr,
  736   void convertToUnsignedVec(MachineBasicBlock &MBB,
  747     MachineBasicBlock::iterator It = MBB.begin();
  764     std::vector<MachineBasicBlock::iterator> InstrListForMBB;
  766     for (MachineBasicBlock::iterator Et = MBB.end(); It != Et; It++) {
  983   MachineBasicBlock *MBB = &*OF.MF->begin();
 1051         MachineBasicBlock::iterator StartIt = Mapper.InstrList[StartIdx];
 1052         MachineBasicBlock::iterator EndIt = Mapper.InstrList[EndIdx];
 1053         MachineBasicBlock *MBB = StartIt->getParent();
 1131   MachineBasicBlock &MBB = *MF.CreateMachineBasicBlock();
 1230       MachineBasicBlock &MBB = *C.getMBB();
 1231       MachineBasicBlock::iterator StartIt = C.front();
 1232       MachineBasicBlock::iterator EndIt = C.back();
 1330     for (MachineBasicBlock &MBB : *MF) {
lib/CodeGen/MachinePipeliner.cpp
  262   MachineBasicBlock *LBLK = L.getTopBlock();
  348 void MachinePipeliner::preprocessPhiNodes(MachineBasicBlock &B) {
  365       MachineBasicBlock &PredB = *PI.getOperand(i+1).getMBB();
  366       MachineBasicBlock::iterator At = PredB.getFirstTerminator();
  388   MachineBasicBlock *MBB = L.getHeader();
  396   for (MachineBasicBlock::iterator I = MBB->getFirstTerminator(),
  581 static void getPhiRegs(MachineInstr &Phi, MachineBasicBlock *Loop,
  597 static unsigned getLoopPhiReg(MachineInstr &Phi, MachineBasicBlock *LoopBB) {
 1018   MachineBasicBlock *MBB = Loop.getHeader();
 1024   for (MachineBasicBlock::iterator I = MBB->getFirstNonPHI(),
 1031   for (MachineBasicBlock::iterator I = MBB->getFirstNonPHI(),
 1605       MachineBasicBlock::const_iterator CurInstI = SU->getInstr();
lib/CodeGen/MachinePostDominators.cpp
   50 MachineBasicBlock *MachinePostDominatorTree::findNearestCommonDominator(
   51     ArrayRef<MachineBasicBlock *> Blocks) const {
   54   MachineBasicBlock *NCD = Blocks.front();
   55   for (MachineBasicBlock *BB : Blocks.drop_front()) {
lib/CodeGen/MachineRegionInfo.cpp
   36 MachineRegion::MachineRegion(MachineBasicBlock *Entry, MachineBasicBlock *Exit,
   36 MachineRegion::MachineRegion(MachineBasicBlock *Entry, MachineBasicBlock *Exit,
   66   MachineBasicBlock *Entry = GraphTraits<MachineFunction*>::getEntryNode(&F);
lib/CodeGen/MachineRegisterInfo.cpp
  470 MachineRegisterInfo::EmitLiveInCopies(MachineBasicBlock *EntryMBB,
  573   const MachineBasicBlock &MBB = *MI.getParent();
lib/CodeGen/MachineSSAUpdater.cpp
   37 using AvailableValsTy = DenseMap<MachineBasicBlock *, unsigned>;
   66 bool MachineSSAUpdater::HasValueForBlock(MachineBasicBlock *BB) const {
   72 void MachineSSAUpdater::AddAvailableValue(MachineBasicBlock *BB, unsigned V) {
   78 unsigned MachineSSAUpdater::GetValueAtEndOfBlock(MachineBasicBlock *BB) {
   83 unsigned LookForIdenticalPHI(MachineBasicBlock *BB,
   84         SmallVectorImpl<std::pair<MachineBasicBlock *, unsigned>> &PredValues) {
   88   MachineBasicBlock::iterator I = BB->begin();
   99       MachineBasicBlock *SrcBB = I->getOperand(i+1).getMBB();
  117                            MachineBasicBlock *BB, MachineBasicBlock::iterator I,
  117                            MachineBasicBlock *BB, MachineBasicBlock::iterator I,
  143 unsigned MachineSSAUpdater::GetValueInMiddleOfBlock(MachineBasicBlock *BB) {
  160   SmallVector<std::pair<MachineBasicBlock*, unsigned>, 8> PredValues;
  164   for (MachineBasicBlock::pred_iterator PI = BB->pred_begin(),
  166     MachineBasicBlock *PredBB = *PI;
  188   MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->begin();
  211 MachineBasicBlock *findCorrespondingPred(const MachineInstr *MI,
  227     MachineBasicBlock *SourceBB = findCorrespondingPred(UseMI, &U);
  243   using BlkT = MachineBasicBlock;
  246   using BlkSucc_iterator = MachineBasicBlock::succ_iterator;
  269     MachineBasicBlock *getIncomingBlock() {
  282   static void FindPredecessorBlocks(MachineBasicBlock *BB,
  283                                     SmallVectorImpl<MachineBasicBlock*> *Preds){
  284     for (MachineBasicBlock::pred_iterator PI = BB->pred_begin(),
  291   static unsigned GetUndefVal(MachineBasicBlock *BB,
  303   static unsigned CreateEmptyPHI(MachineBasicBlock *BB, unsigned NumPreds,
  305     MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->begin();
  315                             MachineBasicBlock *Pred) {
  354 unsigned MachineSSAUpdater::GetValueAtEndOfBlockInternal(MachineBasicBlock *BB){
lib/CodeGen/MachineScheduler.cpp
  276 static MachineBasicBlock::const_iterator
  288 static MachineBasicBlock::iterator
  297 static MachineBasicBlock::const_iterator
  308 static MachineBasicBlock::iterator
  439 static bool isSchedBoundary(MachineBasicBlock::iterator MI,
  454   MachineBasicBlock::iterator RegionBegin;
  455   MachineBasicBlock::iterator RegionEnd;
  458   SchedRegion(MachineBasicBlock::iterator B, MachineBasicBlock::iterator E,
  467 getSchedRegions(MachineBasicBlock *MBB,
  473   MachineBasicBlock::iterator I = nullptr;
  474   for(MachineBasicBlock::iterator RegionEnd = MBB->end();
  546       MachineBasicBlock::iterator I = R->RegionBegin;
  547       MachineBasicBlock::iterator RegionEnd = R->RegionEnd;
  687 void ScheduleDAGMI::startBlock(MachineBasicBlock *bb) {
  701 void ScheduleDAGMI::enterRegion(MachineBasicBlock *bb,
  702                                      MachineBasicBlock::iterator begin,
  714   MachineInstr *MI, MachineBasicBlock::iterator InsertPos) {
  788       MachineBasicBlock::iterator priorII =
  897     MachineBasicBlock::iterator OrigPrevMI = P.second;
  910   for (MachineBasicBlock::iterator MI = begin(), ME = end(); MI != ME; ++MI) {
  970 void ScheduleDAGMILive::enterRegion(MachineBasicBlock *bb,
  971                                 MachineBasicBlock::iterator begin,
 1132       MachineBasicBlock::const_iterator I =
 1421     MachineBasicBlock::iterator priorII =
 1816   MachineBasicBlock::iterator FirstPos = nextIfDebug(DAG->begin(), DAG->end());
 2745 void GenericScheduler::initPolicy(MachineBasicBlock::iterator Begin,
 3254   MachineBasicBlock::iterator InsertPos = SU->getInstr();
lib/CodeGen/MachineSink.cpp
   96     SmallSet<std::pair<MachineBasicBlock*, MachineBasicBlock*>, 8>
   96     SmallSet<std::pair<MachineBasicBlock*, MachineBasicBlock*>, 8>
  101     SetVector<std::pair<MachineBasicBlock *, MachineBasicBlock *>> ToSplit;
  101     SetVector<std::pair<MachineBasicBlock *, MachineBasicBlock *>> ToSplit;
  106         std::map<MachineBasicBlock *, SmallVector<MachineBasicBlock *, 4>>;
  106         std::map<MachineBasicBlock *, SmallVector<MachineBasicBlock *, 4>>;
  137     bool ProcessBlock(MachineBasicBlock &MBB);
  140                                      MachineBasicBlock *From,
  141                                      MachineBasicBlock *To);
  156                                    MachineBasicBlock *From,
  157                                    MachineBasicBlock *To,
  167                                        MachineBasicBlock *TargetBlock);
  168     bool AllUsesDominatedByBlock(unsigned Reg, MachineBasicBlock *MBB,
  169                                  MachineBasicBlock *DefMBB,
  171     MachineBasicBlock *FindSuccToSinkTo(MachineInstr &MI, MachineBasicBlock *MBB,
  171     MachineBasicBlock *FindSuccToSinkTo(MachineInstr &MI, MachineBasicBlock *MBB,
  174                               MachineBasicBlock *MBB,
  175                               MachineBasicBlock *SuccToSinkTo,
  179                                          MachineBasicBlock *MBB);
  181     SmallVector<MachineBasicBlock *, 4> &
  202                                                      MachineBasicBlock *MBB) {
  239                                         MachineBasicBlock *MBB,
  240                                         MachineBasicBlock *DefMBB,
  268     MachineBasicBlock *UseBlock = UseInst->getParent();
  282     MachineBasicBlock *UseBlock = UseInst->getParent();
  324     for (auto &MBB: MF)
  353 bool MachineSinking::ProcessBlock(MachineBasicBlock &MBB) {
  368   MachineBasicBlock::iterator I = MBB.end();
  418                                                  MachineBasicBlock *From,
  419                                                  MachineBasicBlock *To) {
  469                                                MachineBasicBlock *FromBB,
  470                                                MachineBasicBlock *ToBB,
  524     for (MachineBasicBlock::pred_iterator PI = ToBB->pred_begin(),
  540                                           MachineBasicBlock *MBB,
  541                                           MachineBasicBlock *SuccToSinkTo,
  560     MachineBasicBlock *UseBlock = UseInst.getParent();
  571   if (MachineBasicBlock *MBB2 =
  582 SmallVector<MachineBasicBlock *, 4> &
  590   SmallVector<MachineBasicBlock *, 4> AllSuccs(MBB->succ_begin(),
  625 MachineBasicBlock *
  626 MachineSinking::FindSuccToSinkTo(MachineInstr &MI, MachineBasicBlock *MBB,
  636   MachineBasicBlock *SuccToSinkTo = nullptr;
  680       for (MachineBasicBlock *SuccBlock :
  726   auto *MBB = MI.getParent();
  730   auto *PredMBB = *MBB->pred_begin();
  762 static void performSink(MachineInstr &MI, MachineBasicBlock &SuccToSinkTo,
  763                         MachineBasicBlock::iterator InsertPos,
  778   MachineBasicBlock *ParentBlock = MI.getParent();
  867   MachineBasicBlock *ParentBlock = MI.getParent();
  868   MachineBasicBlock *SuccToSinkTo =
  946   MachineBasicBlock::iterator InsertPos = SuccToSinkTo->begin();
  984     MachineInstr &MI, MachineBasicBlock *TargetBlock) {
 1082   bool tryToSinkCopy(MachineBasicBlock &BB, MachineFunction &MF,
 1093 static bool aliasWithRegsInLiveIn(MachineBasicBlock &MBB, unsigned Reg,
 1100 static MachineBasicBlock *
 1101 getSingleLiveInSuccBB(MachineBasicBlock &CurBB,
 1102                       const SmallPtrSetImpl<MachineBasicBlock *> &SinkableBBs,
 1105   MachineBasicBlock *BB = nullptr;
 1106   for (auto *SI : SinkableBBs) {
 1120   for (auto *SI : CurBB.successors()) {
 1127 static MachineBasicBlock *
 1128 getSingleLiveInSuccBB(MachineBasicBlock &CurBB,
 1129                       const SmallPtrSetImpl<MachineBasicBlock *> &SinkableBBs,
 1132   MachineBasicBlock *SingleBB = nullptr;
 1134     MachineBasicBlock *BB =
 1143 static void clearKillFlags(MachineInstr *MI, MachineBasicBlock &CurBB,
 1151       MachineBasicBlock::iterator NI = std::next(MI->getIterator());
 1163 static void updateLiveIn(MachineInstr *MI, MachineBasicBlock *SuccBB,
 1221 bool PostRAMachineSinking::tryToSinkCopy(MachineBasicBlock &CurBB,
 1225   SmallPtrSet<MachineBasicBlock *, 2> SinkableBBs;
 1229   for (MachineBasicBlock *SI : CurBB.successors())
 1294     MachineBasicBlock *SuccBB =
 1326     MachineBasicBlock::iterator InsertPos = SuccBB->getFirstNonPHI();
 1346   for (auto &BB : MF)
lib/CodeGen/MachineSizeOpts.cpp
   29 bool isColdBlock(const MachineBasicBlock *MBB,
   38                                     const MachineBasicBlock *MBB,
   54   for (const auto &MBB : *MF)
   71   for (const auto &MBB : *MF)
   93   static bool isColdBlock(const MachineBasicBlock *MBB,
   99                                       const MachineBasicBlock *MBB,
  115 bool llvm::shouldOptimizeForSize(const MachineBasicBlock *MBB,
lib/CodeGen/MachineTraceMetrics.cpp
   97 MachineTraceMetrics::getResources(const MachineBasicBlock *MBB) {
  168 MachineTraceMetrics::Ensemble::getLoopFor(const MachineBasicBlock *MBB) const {
  175 computeDepthResources(const MachineBasicBlock *MBB) {
  208 computeHeightResources(const MachineBasicBlock *MBB) {
  242 getDepthResources(const MachineBasicBlock *MBB) const {
  251 getHeightResources(const MachineBasicBlock *MBB) const {
  313   const MachineBasicBlock *pickTracePred(const MachineBasicBlock*) override;
  313   const MachineBasicBlock *pickTracePred(const MachineBasicBlock*) override;
  314   const MachineBasicBlock *pickTraceSucc(const MachineBasicBlock*) override;
  314   const MachineBasicBlock *pickTraceSucc(const MachineBasicBlock*) override;
  324 const MachineBasicBlock*
  325 MinInstrCountEnsemble::pickTracePred(const MachineBasicBlock *MBB) {
  333   const MachineBasicBlock *Best = nullptr;
  335   for (const MachineBasicBlock *Pred : MBB->predecessors()) {
  352 const MachineBasicBlock*
  353 MinInstrCountEnsemble::pickTraceSucc(const MachineBasicBlock *MBB) {
  357   const MachineBasicBlock *Best = nullptr;
  359   for (const MachineBasicBlock *Succ : MBB->successors()) {
  396 void MachineTraceMetrics::invalidate(const MachineBasicBlock *MBB) {
  428   SmallPtrSet<const MachineBasicBlock*, 8> Visited;
  449   void finishPostorder(const MachineBasicBlock*) {}
  451   bool insertEdge(Optional<const MachineBasicBlock *> From,
  452                   const MachineBasicBlock *To) {
  477 void MachineTraceMetrics::Ensemble::computeTrace(const MachineBasicBlock *MBB) {
  522 MachineTraceMetrics::Ensemble::invalidate(const MachineBasicBlock *BadMBB) {
  523   SmallVector<const MachineBasicBlock*, 16> WorkList;
  531       const MachineBasicBlock *MBB = WorkList.pop_back_val();
  536       for (const MachineBasicBlock *Pred : MBB->predecessors()) {
  556       const MachineBasicBlock *MBB = WorkList.pop_back_val();
  561       for (const MachineBasicBlock *Succ : MBB->successors()) {
  592       const MachineBasicBlock *MBB = MTM.MF->getBlockNumbered(Num);
  600       const MachineBasicBlock *MBB = MTM.MF->getBlockNumbered(Num);
  682                        const MachineBasicBlock *Pred,
  821 updateDepth(const MachineBasicBlock *MBB, const MachineInstr &UseMI,
  827 updateDepths(MachineBasicBlock::iterator Start,
  837 computeInstrDepths(const MachineBasicBlock *MBB) {
  841   SmallVector<const MachineBasicBlock*, 8> Stack;
  979            ArrayRef<const MachineBasicBlock*> Trace) {
  983   const MachineBasicBlock *DefMBB = DefMI->getParent();
  987     const MachineBasicBlock *MBB = Trace[i-1];
 1000 computeInstrHeights(const MachineBasicBlock *MBB) {
 1003   SmallVector<const MachineBasicBlock*, 8> Stack;
 1064     const MachineBasicBlock *Succ = TBI.Succ;
 1091     for (MachineBasicBlock::const_iterator BI = MBB->end(), BB = MBB->begin();
 1159 MachineTraceMetrics::Ensemble::getTrace(const MachineBasicBlock *MBB) {
 1182   const MachineBasicBlock *MBB = TE.MTM.MF->getBlockNumbered(getBlockNum());
 1224     ArrayRef<const MachineBasicBlock *> Extrablocks,
 1255     for (const MachineBasicBlock *MBB : Extrablocks)
 1267   for (const MachineBasicBlock *MBB : Extrablocks)
lib/CodeGen/MachineVerifier.cpp
  109     using BlockSet = SmallPtrSet<const MachineBasicBlock *, 8>;
  213     DenseMap<const MachineBasicBlock*, BBInfo> MBBInfoMap;
  231     void visitMachineBasicBlockBefore(const MachineBasicBlock *MBB);
  240     void visitMachineBasicBlockAfter(const MachineBasicBlock *MBB);
  244     void report(const char *msg, const MachineBasicBlock *MBB);
  272     void markReachable(const MachineBasicBlock *MBB);
  274     void checkPHIOps(const MachineBasicBlock &MBB);
  411     for (MachineBasicBlock::const_instr_iterator MBBI = MFI->instr_begin(),
  489 void MachineVerifier::report(const char *msg, const MachineBasicBlock *MBB) {
  566 void MachineVerifier::markReachable(const MachineBasicBlock *MBB) {
  570     for (MachineBasicBlock::const_succ_iterator SuI = MBB->succ_begin(),
  586   for (const auto &MBB : *MF) {
  607 static bool matchPair(MachineBasicBlock::const_succ_iterator i,
  608                       const MachineBasicBlock *a, const MachineBasicBlock *b) {
  608                       const MachineBasicBlock *a, const MachineBasicBlock *b) {
  617 MachineVerifier::visitMachineBasicBlockBefore(const MachineBasicBlock *MBB) {
  635   SmallPtrSet<MachineBasicBlock*, 4> LandingPadSuccs;
  636   for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin(),
  650   for (MachineBasicBlock::const_pred_iterator I = MBB->pred_begin(),
  672   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 2119 MachineVerifier::visitMachineBasicBlockAfter(const MachineBasicBlock *MBB) {
 2140   SmallPtrSet<const MachineBasicBlock*, 8> todo;
 2141   for (const auto &MBB : *MF) {
 2145     for (MachineBasicBlock::const_succ_iterator SuI = MBB.succ_begin(),
 2156     const MachineBasicBlock *MBB = *todo.begin();
 2159     for (MachineBasicBlock::const_succ_iterator SuI = MBB->succ_begin(),
 2175   SmallPtrSet<const MachineBasicBlock*, 8> todo;
 2176   for (const auto &MBB : *MF) {
 2178     for (MachineBasicBlock::const_pred_iterator PrI = MBB.pred_begin(),
 2189     const MachineBasicBlock *MBB = *todo.begin();
 2192     for (MachineBasicBlock::const_pred_iterator PrI = MBB->pred_begin(),
 2205 void MachineVerifier::checkPHIOps(const MachineBasicBlock &MBB) {
 2208   SmallPtrSet<const MachineBasicBlock*, 8> seen;
 2242       const MachineBasicBlock &Pre = *MO1.getMBB();
 2259       for (MachineBasicBlock *Pred : MBB.predecessors()) {
 2273   for (const MachineBasicBlock &MBB : *MF)
 2280   for (const auto &MBB : *MF) {
 2317     for (const auto &MBB : *MF) {
 2386   const MachineBasicBlock *MBB = LiveInts->getMBBFromIndex(VNI->def);
 2477   const MachineBasicBlock *MBB = LiveInts->getMBBFromIndex(S.start);
 2491   const MachineBasicBlock *EndMBB =
 2634     for (MachineBasicBlock::const_pred_iterator PI = MFI->pred_begin(),
 2757   df_iterator_default_set<const MachineBasicBlock*> Reachable;
 2761                        df_iterator_default_set<const MachineBasicBlock *>>
 2764     const MachineBasicBlock *MBB = *DFI;
 2769       const MachineBasicBlock *StackPred = DFI.getPath(DFI.getPathLength() - 2);
 2806     for (MachineBasicBlock::const_pred_iterator I = MBB->pred_begin(),
 2822     for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin(),
lib/CodeGen/ModuloSchedule.cpp
   35 static void getPhiRegs(MachineInstr &Phi, MachineBasicBlock *Loop,
   51 static unsigned getInitPhiReg(MachineInstr &Phi, MachineBasicBlock *LoopBB) {
   59 static unsigned getLoopPhiReg(MachineInstr &Phi, MachineBasicBlock *LoopBB) {
  113   MachineBasicBlock *KernelBB = MF.CreateMachineBasicBlock(BB->getBasicBlock());
  124   SmallVector<MachineBasicBlock *, 4> PrologBBs;
  144   for (MachineBasicBlock::iterator I = BB->getFirstTerminator(),
  164   SmallVector<MachineBasicBlock *, 4> EpilogBBs;
  191                                             MachineBasicBlock *KernelBB,
  194   MachineBasicBlock *PredBB = Preheader;
  203     MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(BB->getBasicBlock());
  213       for (MachineBasicBlock::iterator BBI = BB->instr_begin(),
  249                                             MachineBasicBlock *KernelBB,
  255   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  262   MachineBasicBlock::succ_iterator LoopExitI = KernelBB->succ_begin();
  266   MachineBasicBlock *LoopExitBB = *LoopExitI;
  268   MachineBasicBlock *PredBB = KernelBB;
  269   MachineBasicBlock *EpilogStart = LoopExitBB;
  277     MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock();
  325     MachineBasicBlock *LastEpilogBB = EpilogBBs.back();
  334                                     MachineBasicBlock *MBB,
  351 static bool hasUseAfterLoop(unsigned Reg, MachineBasicBlock *BB,
  365     MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2,
  365     MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2,
  365     MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2,
  366     MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap,
  382   for (MachineBasicBlock::iterator BBI = BB->instr_begin(),
  603     MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2,
  603     MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2,
  603     MachineBasicBlock *NewBB, MachineBasicBlock *BB1, MachineBasicBlock *BB2,
  604     MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap,
  620   for (MachineBasicBlock::iterator BBI = BB->getFirstNonPHI(),
  701 void ModuloScheduleExpander::removeDeadInstructions(MachineBasicBlock *KernelBB,
  708     for (MachineBasicBlock::reverse_instr_iterator MI = (*MBB)->instr_rbegin(),
  762   for (MachineBasicBlock::iterator BBI = KernelBB->instr_begin(),
  785 void ModuloScheduleExpander::splitLifetimes(MachineBasicBlock *KernelBB,
  832 static void removePhis(MachineBasicBlock *BB, MachineBasicBlock *Incoming) {
  832 static void removePhis(MachineBasicBlock *BB, MachineBasicBlock *Incoming) {
  848 void ModuloScheduleExpander::addBranches(MachineBasicBlock &PreheaderBB,
  850                                          MachineBasicBlock *KernelBB,
  854   MachineBasicBlock *LastPro = KernelBB;
  855   MachineBasicBlock *LastEpi = KernelBB;
  864     MachineBasicBlock *Prolog = PrologBBs[j];
  865     MachineBasicBlock *Epilog = EpilogBBs[i];
  897     for (MachineBasicBlock::reverse_instr_iterator I = Prolog->instr_rbegin(),
 1076     ValueMapTy *VRMap, MachineBasicBlock *BB) {
 1106 void ModuloScheduleExpander::rewritePhiValues(MachineBasicBlock *NewBB,
 1136     MachineBasicBlock *BB, InstrMapTy &InstrMap, unsigned CurStageNum,
 1216 void EliminateDeadPhis(MachineBasicBlock *MBB, MachineRegisterInfo &MRI,
 1247   MachineBasicBlock *BB;
 1248   MachineBasicBlock *PreheaderBB, *ExitBB;
 1505     auto *InsertBB = &PreheaderBB->getParent()->front();
 1517   MachineBasicBlock *BB;
 1568 MachineBasicBlock *
 1570   MachineBasicBlock *NewBB = PeelSingleBlockLoop(LPD, BB, MRI, TII);
 1606   MachineBasicBlock *ExitingBB = CreateLCSSAExitingBlock();
 1636     MachineBasicBlock *Pred = *(*EI)->pred_begin();
 1649   SmallVector<MachineBasicBlock *, 8> Blocks;
 1655   for (MachineBasicBlock *B : reverse(Blocks)) {
 1663   for (MachineBasicBlock *B : reverse(Blocks))
 1668 MachineBasicBlock *PeelingModuloScheduleExpander::CreateLCSSAExitingBlock() {
 1670   MachineBasicBlock *Exit = *BB->succ_begin();
 1674   MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(BB->getBasicBlock());
 1699   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1713                                                        MachineBasicBlock *BB) {
 1771     MachineBasicBlock *Prolog = *PI;
 1772     MachineBasicBlock *Fallthrough = *Prolog->succ_begin();
 1773     MachineBasicBlock *Epilog = *EI;
 1844   MachineBasicBlock *ExpandedKernel = MSE.getRewrittenKernel();
 1987   MachineBasicBlock *BB = L.getTopBlock();
lib/CodeGen/OptimizePHIs.cpp
   61     bool OptimizeBB(MachineBasicBlock &MBB);
  166 bool OptimizePHIs::OptimizeBB(MachineBasicBlock &MBB) {
  168   for (MachineBasicBlock::iterator
lib/CodeGen/PHIElimination.cpp
   85     bool EliminatePHINodes(MachineFunction &MF, MachineBasicBlock &MBB);
   87     void LowerPHINode(MachineBasicBlock &MBB,
   88                       MachineBasicBlock::iterator LastPHIIt);
   98     bool SplitPHIEdges(MachineFunction &MF, MachineBasicBlock &MBB,
  103     bool isLiveIn(unsigned Reg, const MachineBasicBlock *MBB);
  104     bool isLiveOutPastPHIs(unsigned Reg, const MachineBasicBlock *MBB);
  160     for (auto &MBB : MF)
  168   for (auto &MBB : MF)
  205                                        MachineBasicBlock &MBB) {
  210   MachineBasicBlock::iterator LastPHIIt =
  240 void PHIElimination::LowerPHINode(MachineBasicBlock &MBB,
  241                                   MachineBasicBlock::iterator LastPHIIt) {
  244   MachineBasicBlock::iterator AfterPHIsIt = std::next(LastPHIIt);
  374   SmallPtrSet<MachineBasicBlock*, 8> MBBsInsertedInto;
  385     MachineBasicBlock &opBlock = *MPhi->getOperand(i*2+2).getMBB();
  395     MachineBasicBlock::iterator InsertPos =
  442       MachineBasicBlock::iterator KillInst = opBlock.end();
  443       MachineBasicBlock::iterator FirstTerm = opBlock.getFirstTerminator();
  444       for (MachineBasicBlock::iterator Term = FirstTerm;
  489         for (MachineBasicBlock::succ_iterator SI = opBlock.succ_begin(),
  502           MachineBasicBlock::iterator KillInst = opBlock.end();
  503           MachineBasicBlock::iterator FirstTerm = opBlock.getFirstTerminator();
  504           for (MachineBasicBlock::iterator Term = FirstTerm;
  552   for (const auto &MBB : MF)
  563                                    MachineBasicBlock &MBB,
  572   for (MachineBasicBlock::iterator BBI = MBB.begin(), BBE = MBB.end();
  576       MachineBasicBlock *PreMBB = BBI->getOperand(i+1).getMBB();
  642 bool PHIElimination::isLiveIn(unsigned Reg, const MachineBasicBlock *MBB) {
  652                                        const MachineBasicBlock *MBB) {
  662     for (const MachineBasicBlock *SI : MBB->successors())
lib/CodeGen/PHIEliminationUtils.cpp
   20 MachineBasicBlock::iterator
   41   MachineBasicBlock::iterator InsertPoint;
lib/CodeGen/PHIEliminationUtils.h
   19     MachineBasicBlock::iterator
lib/CodeGen/PatchableFunction.cpp
   66   auto &FirstMBB = *MF.begin();
   67   MachineBasicBlock::iterator FirstActualI = FirstMBB.begin();
lib/CodeGen/PeepholeOptimizer.cpp
  188     bool optimizeExtInstr(MachineInstr &MI, MachineBasicBlock &MBB,
  457 optimizeExtInstr(MachineInstr &MI, MachineBasicBlock &MBB,
  488   SmallPtrSet<MachineBasicBlock*, 4> ReachedBBs;
  533     MachineBasicBlock *UseMBB = UseMI->getParent();
  561     SmallPtrSet<MachineBasicBlock*, 4> PHIBBs;
  574       MachineBasicBlock *UseMBB = UseMI->getParent();
  765   MachineBasicBlock *MBB = OrigPHI.getParent();
 1611   for (MachineBasicBlock &MBB : MF) {
 1638     for (MachineBasicBlock::iterator MII = MBB.begin(), MIE = MBB.end();
lib/CodeGen/PostRAHazardRecognizer.cpp
   78   for (auto &MBB : Fn) {
lib/CodeGen/PostRASchedulerList.cpp
  157     void startBlock(MachineBasicBlock *BB) override;
  163     void enterRegion(MachineBasicBlock *bb,
  164                      MachineBasicBlock::iterator begin,
  235 void SchedulePostRATDList::enterRegion(MachineBasicBlock *bb,
  236                  MachineBasicBlock::iterator begin,
  317   for (auto &MBB : Fn) {
  334     MachineBasicBlock::iterator Current = MBB.end();
  336     for (MachineBasicBlock::iterator I = Current; I != MBB.begin();) {
  378 void SchedulePostRATDList::startBlock(MachineBasicBlock *BB) {
  697     MachineBasicBlock::iterator OrigPrivMI = P.second;
lib/CodeGen/ProcessImplicitDefs.cpp
   96   MachineBasicBlock::instr_iterator UserMI = MI->getIterator();
   97   MachineBasicBlock::instr_iterator UserE = MI->getParent()->instr_end();
  148     for (MachineBasicBlock::instr_iterator MBBI = MFI->instr_begin(),
lib/CodeGen/PrologEpilogInserter.cpp
   76 using MBBVector = SmallVector<MachineBasicBlock *, 4>;
  129   void replaceFrameIndices(MachineBasicBlock *BB, MachineFunction &MF,
  173     SmallDenseMap<MachineBasicBlock *, SmallVector<MachineInstr *, 4>, 4>;
  178 static void stashEntryDbgValues(MachineBasicBlock &MBB,
  235   for (MachineBasicBlock *SaveBlock : SaveBlocks)
  314   std::vector<MachineBasicBlock::iterator> FrameSDOps;
  316     for (MachineBasicBlock::iterator I = BB->begin(); I != BB->end(); ++I)
  335   for (std::vector<MachineBasicBlock::iterator>::iterator
  337     MachineBasicBlock::iterator I = *i;
  361     MachineBasicBlock *RestoreBlock = MFI.getRestorePoint();
  372   for (MachineBasicBlock &MBB : MF) {
  469   SmallPtrSet<MachineBasicBlock *, 8> Visited;
  470   SmallVector<MachineBasicBlock *, 8> WorkList;
  471   MachineBasicBlock *Entry = &MF.front();
  472   MachineBasicBlock *Save = MFI.getSavePoint();
  483   MachineBasicBlock *Restore = MFI.getRestorePoint();
  491     const MachineBasicBlock *CurBB = WorkList.pop_back_val();
  498     for (MachineBasicBlock *SuccBB : CurBB->successors())
  507     for (MachineBasicBlock *MBB : Visited) {
  520       for (MachineBasicBlock &MBB : MF) {
  533 static void insertCSRSaves(MachineBasicBlock &SaveBlock,
  540   MachineBasicBlock::iterator I = SaveBlock.begin();
  560 static void insertCSRRestores(MachineBasicBlock &RestoreBlock,
  569   MachineBasicBlock::iterator I = RestoreBlock.getFirstTerminator();
  620       for (MachineBasicBlock *SaveBlock : SaveBlocks) {
  626       for (MachineBasicBlock *RestoreBlock : RestoreBlocks)
 1096   for (MachineBasicBlock *SaveBlock : SaveBlocks)
 1100   for (MachineBasicBlock *RestoreBlock : RestoreBlocks)
 1103   for (MachineBasicBlock *SaveBlock : SaveBlocks)
 1111     for (MachineBasicBlock *SaveBlock : SaveBlocks)
 1125     for (MachineBasicBlock *SaveBlock : SaveBlocks)
 1146   df_iterator_default_set<MachineBasicBlock*> Reachable;
 1154       MachineBasicBlock *StackPred = DFI.getPath(DFI.getPathLength() - 2);
 1159     MachineBasicBlock *BB = *DFI;
 1165   for (auto &BB : MF) {
 1174 void PEI::replaceFrameIndices(MachineBasicBlock *BB, MachineFunction &MF,
 1187   for (MachineBasicBlock::iterator I = BB->begin(); I != BB->end(); ) {
lib/CodeGen/ReachingDefAnalysis.cpp
   25   MachineBasicBlock *MBB = TraversedMBB.MBB;
   55   for (MachineBasicBlock *pred : MBB->predecessors()) {
lib/CodeGen/RegAllocFast.cpp
   77     MachineBasicBlock *MBB;
  183     void allocateBasicBlock(MachineBasicBlock &MBB);
  193     void spillVirtReg(MachineBasicBlock::iterator MI, LiveReg &LR);
  194     void spillVirtReg(MachineBasicBlock::iterator MI, unsigned VirtReg);
  197     void definePhysReg(MachineBasicBlock::iterator MI, MCPhysReg PhysReg,
  216     void spillAll(MachineBasicBlock::iterator MI, bool OnlyLiveOut);
  223     void spill(MachineBasicBlock::iterator Before, unsigned VirtReg,
  225     void reload(MachineBasicBlock::iterator Before, unsigned VirtReg,
  314 void RegAllocFast::spill(MachineBasicBlock::iterator Before, unsigned VirtReg,
  342 void RegAllocFast::reload(MachineBasicBlock::iterator Before, unsigned VirtReg,
  406 void RegAllocFast::spillVirtReg(MachineBasicBlock::iterator MI,
  417 void RegAllocFast::spillVirtReg(MachineBasicBlock::iterator MI, LiveReg &LR) {
  435 void RegAllocFast::spillAll(MachineBasicBlock::iterator MI, bool OnlyLiveOut) {
  520 void RegAllocFast::definePhysReg(MachineBasicBlock::iterator MI,
 1245 void RegAllocFast::allocateBasicBlock(MachineBasicBlock &MBB) {
 1252   MachineBasicBlock::iterator MII = MBB.begin();
 1255   for (const MachineBasicBlock::RegisterMaskPair LI : MBB.liveins())
 1314   for (MachineBasicBlock &MBB : MF)
lib/CodeGen/RegAllocGreedy.cpp
 1284     MachineBasicBlock *MBB = MF->getBlockNumbered(Number);
 3166   for (MachineBasicBlock *MBB : L->getBlocks())
lib/CodeGen/RegAllocPBQP.cpp
  445     for (const auto &MBB : MF) {
lib/CodeGen/RegUsageInfoPropagate.cpp
  115   for (MachineBasicBlock &MBB : MF) {
lib/CodeGen/RegisterCoalescer.cpp
  186     void copyCoalesceInMBB(MachineBasicBlock *MBB);
  386 static bool isSplitEdge(const MachineBasicBlock *MBB) {
  833   MachineBasicBlock *MBB = DefMI->getParent();
  844     MachineBasicBlock::iterator Pos = DefMI;
 1031   MachineBasicBlock &MBB = *CopyMI.getParent();
 1057   MachineBasicBlock *CopyLeftBB = nullptr;
 1058   for (MachineBasicBlock *Pred : MBB.predecessors()) {
 1278   MachineBasicBlock *MBB = CopyMI->getParent();
 1279   MachineBasicBlock::iterator MII =
 2706   MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
 2787   MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
 2867     MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
 2868     MachineBasicBlock::iterator MI = MBB->begin();
 3423   MachineBasicBlock *MBB;
 3427   MBBPriorityInfo(MachineBasicBlock *mbb, unsigned depth, bool issplit)
 3538   const MachineBasicBlock *OrigBB = Copy.getParent();
 3570 RegisterCoalescer::copyCoalesceInMBB(MachineBasicBlock *MBB) {
 3583     for (MachineBasicBlock::iterator MII = MBB->begin(), E = MBB->end();
 3642     MachineBasicBlock *MBB = &*I;
lib/CodeGen/RegisterPressure.cpp
  202 void RegionPressure::openTop(MachineBasicBlock::const_iterator PrevTop) {
  218 void RegionPressure::openBottom(MachineBasicBlock::const_iterator PrevBottom) {
  266                               const MachineBasicBlock *mbb,
  267                               MachineBasicBlock::const_iterator pos,
  311   MachineBasicBlock::const_iterator IdxPos =
lib/CodeGen/RegisterScavenging.cpp
   56 void RegScavenger::init(MachineBasicBlock &MBB) {
   83 void RegScavenger::enterBasicBlock(MachineBasicBlock &MBB) {
   88 void RegScavenger::enterBasicBlockEnd(MachineBasicBlock &MBB) {
  306 Register RegScavenger::findSurvivorReg(MachineBasicBlock::iterator StartMI,
  313   MachineBasicBlock::iterator ME = MBB->getFirstTerminator();
  315   MachineBasicBlock::iterator RestorePointMI = StartMI;
  316   MachineBasicBlock::iterator MI = StartMI;
  377 static std::pair<MCPhysReg, MachineBasicBlock::iterator>
  384   MachineBasicBlock::iterator Pos;
  385   MachineBasicBlock &MBB = *From->getParent();
  391   for (MachineBasicBlock::iterator I = From;; --I) {
  461                     MachineBasicBlock::iterator Before,
  518     MachineBasicBlock::iterator II = std::prev(Before);
  535                                         MachineBasicBlock::iterator I,
  558   MachineBasicBlock::iterator UseMI;
  580                                                  MachineBasicBlock::iterator To,
  583   const MachineBasicBlock &MBB = *To->getParent();
  587   MachineBasicBlock::iterator UseMI;
  589   std::pair<MCPhysReg, MachineBasicBlock::iterator> P =
  593   MachineBasicBlock::iterator SpillBefore = P.second;
  605   MachineBasicBlock::iterator ReloadAfter =
  607   MachineBasicBlock::iterator ReloadBefore = std::next(ReloadAfter);
  628   const MachineBasicBlock *CommonMBB = nullptr;
  632     MachineBasicBlock *MBB = MO.getParent()->getParent();
  679                                             MachineBasicBlock &MBB) {
  685   for (MachineBasicBlock::iterator I = MBB.end(); I != MBB.begin(); ) {
  692       MachineBasicBlock::iterator N = std::next(I);
  763   for (MachineBasicBlock &MBB : MF) {
lib/CodeGen/RenameIndependentSubregs.cpp
  323         MachineBasicBlock &MBB = *Indexes.getMBBFromIndex(Def);
  324         for (MachineBasicBlock *PredMBB : MBB.predecessors()) {
  329           MachineBasicBlock::iterator InsertPos =
lib/CodeGen/ScheduleDAGInstrs.cpp
  177 void ScheduleDAGInstrs::startBlock(MachineBasicBlock *bb) {
  186 void ScheduleDAGInstrs::enterRegion(MachineBasicBlock *bb,
  187                                     MachineBasicBlock::iterator begin,
  218     for (const MachineBasicBlock *Succ : BB->successors()) {
  793   for (MachineBasicBlock::iterator MII = RegionEnd, MIE = RegionBegin;
 1103 void ScheduleDAGInstrs::fixupKills(MachineBasicBlock &MBB) {
 1135       MachineBasicBlock::instr_iterator Bundle = MI.getIterator();
 1142       MachineBasicBlock::instr_iterator I = std::next(Bundle);
lib/CodeGen/SelectionDAG/FastISel.cpp
  193     MachineBasicBlock::reverse_iterator RE =
  196     MachineBasicBlock::reverse_iterator RI(LastLocalValue);
  232     MachineBasicBlock *MBB, MachineBasicBlock::iterator LastFlushPoint) {
  232     MachineBasicBlock *MBB, MachineBasicBlock::iterator LastFlushPoint) {
  294   MachineBasicBlock::instr_iterator SinkPos;
  544 void FastISel::removeDeadCode(MachineBasicBlock::iterator I,
  567   MachineBasicBlock::iterator OldInsertPt = FuncInfo.InsertPt;
 1580     MachineBasicBlock::iterator FirstDeadInst(SavedLastLocalValue);
 1669 void FastISel::fastEmitBranch(MachineBasicBlock *MSucc,
 1690                                 MachineBasicBlock *TrueMBB,
 1691                                 MachineBasicBlock *FalseMBB) {
 1846       MachineBasicBlock *MSucc = FuncInfo.MBBMap[LLVMSucc];
 2254   SmallPtrSet<MachineBasicBlock *, 4> SuccsHandled;
 2263     MachineBasicBlock *SuccMBB = FuncInfo.MBBMap[SuccBB];
 2270     MachineBasicBlock::iterator MBBI = SuccMBB->begin();
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  253     MachineBasicBlock *MBB = mf.CreateMachineBasicBlock(&BB);
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
 1159 InstrEmitter::InstrEmitter(MachineBasicBlock *mbb,
 1160                            MachineBasicBlock::iterator insertpos)
lib/CodeGen/SelectionDAG/InstrEmitter.h
   35   MachineBasicBlock *MBB;
   36   MachineBasicBlock::iterator InsertPos;
  124   MachineBasicBlock *getBlock() { return MBB; }
  127   MachineBasicBlock::iterator getInsertPos() { return InsertPos; }
  131   InstrEmitter(MachineBasicBlock *mbb, MachineBasicBlock::iterator insertpos);
  131   InstrEmitter(MachineBasicBlock *mbb, MachineBasicBlock::iterator insertpos);
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
  649   MachineBasicBlock *
  650     EmitSchedule(MachineBasicBlock::iterator &InsertPos) override;
  761 MachineBasicBlock*
  762 ScheduleDAGLinearize::EmitSchedule(MachineBasicBlock::iterator &InsertPos) {
  769   MachineBasicBlock *BB = Emitter.getBlock();
  777       MachineBasicBlock::iterator InsertPos = Emitter.getInsertPos();
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
   54 void ScheduleDAGSDNodes::Run(SelectionDAG *dag, MachineBasicBlock *bb) {
  740   MachineBasicBlock *BB = Emitter.getBlock();
  741   MachineBasicBlock::iterator InsertPos = Emitter.getInsertPos();
  788                 MachineBasicBlock::iterator InsertPos) {
  826 MachineBasicBlock *ScheduleDAGSDNodes::
  827 EmitSchedule(MachineBasicBlock::iterator &InsertPos) {
  848     MachineBasicBlock::iterator Before = GetPrevInsn(Emitter.getInsertPos());
  850     MachineBasicBlock::iterator After = GetPrevInsn(Emitter.getInsertPos());
  935     MachineBasicBlock::iterator BBBegin = BB->getFirstNonPHI();
  969             MachineBasicBlock::iterator Pos = MI;
  988     MachineBasicBlock *InsertBB = Emitter.getBlock();
  989     MachineBasicBlock::iterator Pos = InsertBB->getFirstTerminator();
 1014             MachineBasicBlock::iterator Pos = MI;
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
   48     MachineBasicBlock *BB;
   61     void Run(SelectionDAG *dag, MachineBasicBlock *bb);
  122     virtual MachineBasicBlock*
  123     EmitSchedule(MachineBasicBlock::iterator &InsertPos);
  188                          MachineBasicBlock::iterator InsertPos);
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 1494 SDValue SelectionDAG::getBasicBlock(MachineBasicBlock *MBB) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1584   MachineBasicBlock *CatchPadMBB = FuncInfo.MBB;
 1598   MachineBasicBlock *TargetMBB = FuncInfo.MBBMap[I.getSuccessor()];
 1624   MachineBasicBlock *SuccessorColorMBB = FuncInfo.MBBMap[SuccessorColor];
 1652     SmallVectorImpl<std::pair<MachineBasicBlock *, BranchProbability>>
 1686     SmallVectorImpl<std::pair<MachineBasicBlock *, BranchProbability>>
 1740   SmallVector<std::pair<MachineBasicBlock *, BranchProbability>, 1> UnwindDests;
 1986 SelectionDAGBuilder::getEdgeProbability(const MachineBasicBlock *Src,
 1987                                         const MachineBasicBlock *Dst) const {
 2000 void SelectionDAGBuilder::addSuccessorWithProb(MachineBasicBlock *Src,
 2001                                                MachineBasicBlock *Dst,
 2023                                                   MachineBasicBlock *TBB,
 2024                                                   MachineBasicBlock *FBB,
 2025                                                   MachineBasicBlock *CurBB,
 2026                                                   MachineBasicBlock *SwitchBB,
 2070                                                MachineBasicBlock *TBB,
 2071                                                MachineBasicBlock *FBB,
 2072                                                MachineBasicBlock *CurBB,
 2073                                                MachineBasicBlock *SwitchBB,
 2119   MachineBasicBlock *TmpBB = MF.CreateMachineBasicBlock(CurBB->getBasicBlock());
 2223   MachineBasicBlock *BrMBB = FuncInfo.MBB;
 2226   MachineBasicBlock *Succ0MBB = FuncInfo.MBBMap[I.getSuccessor(0)];
 2245   MachineBasicBlock *Succ1MBB = FuncInfo.MBBMap[I.getSuccessor(1)];
 2311                                           MachineBasicBlock *SwitchBB) {
 2420                                                MachineBasicBlock *SwitchBB) {
 2503                                                   MachineBasicBlock *ParentBB) {
 2619                                              MachineBasicBlock *SwitchBB) {
 2652   MachineBasicBlock* MBB = B.Cases[0].ThisBB;
 2681                                            MachineBasicBlock* NextMBB,
 2685                                            MachineBasicBlock *SwitchBB) {
 2740   MachineBasicBlock *InvokeMBB = FuncInfo.MBB;
 2744   MachineBasicBlock *Return = FuncInfo.MBBMap[I.getSuccessor(0)];
 2805   SmallVector<std::pair<MachineBasicBlock *, BranchProbability>, 1> UnwindDests;
 2826   MachineBasicBlock *CallBrMBB = FuncInfo.MBB;
 2839   MachineBasicBlock *Return = FuncInfo.MBBMap[I.getDefaultDest()];
 2844     MachineBasicBlock *Target = FuncInfo.MBBMap[I.getIndirectDest(i)];
 2907 void SelectionDAGBuilder::UpdateSplitBlock(MachineBasicBlock *First,
 2908                                            MachineBasicBlock *Last) {
 2921   MachineBasicBlock *IndirectBrMBB = FuncInfo.MBB;
 2931     MachineBasicBlock *Succ = FuncInfo.MBBMap[BB];
 9930   SmallPtrSet<MachineBasicBlock *, 4> SuccsHandled;
 9937     MachineBasicBlock *SuccMBB = FuncInfo.MBBMap[SuccBB];
 9944     MachineBasicBlock::iterator MBBI = SuccMBB->begin();
10003 MachineBasicBlock *
10006                 MachineBasicBlock *ParentMBB,
10008                 MachineBasicBlock *SuccMBB) {
10022 MachineBasicBlock *SelectionDAGBuilder::NextBlock(MachineBasicBlock *MBB) {
10022 MachineBasicBlock *SelectionDAGBuilder::NextBlock(MachineBasicBlock *MBB) {
10043                                         MachineBasicBlock *SwitchMBB,
10044                                         MachineBasicBlock *DefaultMBB) {
10046   MachineBasicBlock *NextMBB = nullptr;
10141   MachineBasicBlock *CurMBB = W.MBB;
10144     MachineBasicBlock *Fallthrough;
10165         MachineBasicBlock *JumpMBB = JT->MBB;
10174         for (MachineBasicBlock::succ_iterator SI = JumpMBB->succ_begin(),
10293                                         MachineBasicBlock *SwitchMBB) {
10383   MachineBasicBlock *LeftMBB;
10400   MachineBasicBlock *RightMBB;
10442 MachineBasicBlock *SelectionDAGBuilder::peelDominantCaseCluster(
10445   MachineBasicBlock *SwitchMBB = FuncInfo.MBB;
10472   MachineBasicBlock *PeeledSwitchMBB =
10500     MachineBasicBlock *Succ = FuncInfo.MBBMap[I.getCaseSuccessor()];
10508   MachineBasicBlock *DefaultMBB = FuncInfo.MBBMap[SI.getDefaultDest()];
10517   MachineBasicBlock *PeeledSwitchMBB =
10521   MachineBasicBlock *SwitchMBB = FuncInfo.MBB;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  159                      MachineBasicBlock *SwitchMBB);
  163                      MachineBasicBlock *SwitchMBB,
  164                      MachineBasicBlock *DefaultMBB);
  167   MachineBasicBlock *
  299     void initialize(const BasicBlock *BB, MachineBasicBlock *MBB,
  339     MachineBasicBlock *getParentMBB() { return ParentMBB; }
  340     MachineBasicBlock *getSuccessMBB() { return SuccessMBB; }
  341     MachineBasicBlock *getFailureMBB() { return FailureMBB; }
  351     MachineBasicBlock *ParentMBB = nullptr;
  355     MachineBasicBlock *SuccessMBB = nullptr;
  359     MachineBasicBlock *FailureMBB = nullptr;
  364     MachineBasicBlock *AddSuccessorMBB(const BasicBlock *BB,
  365                                        MachineBasicBlock *ParentMBB,
  367                                        MachineBasicBlock *SuccMBB = nullptr);
  389         MachineBasicBlock *Src, MachineBasicBlock *Dst,
  389         MachineBasicBlock *Src, MachineBasicBlock *Dst,
  418   DenseMap<MachineBasicBlock *, SmallVector<unsigned, 4>> LPadToCallSiteMap;
  525   void FindMergedConditions(const Value *Cond, MachineBasicBlock *TBB,
  526                             MachineBasicBlock *FBB, MachineBasicBlock *CurBB,
  526                             MachineBasicBlock *FBB, MachineBasicBlock *CurBB,
  527                             MachineBasicBlock *SwitchBB,
  530   void EmitBranchForMergedCondition(const Value *Cond, MachineBasicBlock *TBB,
  531                                     MachineBasicBlock *FBB,
  532                                     MachineBasicBlock *CurBB,
  533                                     MachineBasicBlock *SwitchBB,
  559   void UpdateSplitBlock(MachineBasicBlock *First, MachineBasicBlock *Last);
  559   void UpdateSplitBlock(MachineBasicBlock *First, MachineBasicBlock *Last);
  642   BranchProbability getEdgeProbability(const MachineBasicBlock *Src,
  643                                        const MachineBasicBlock *Dst) const;
  645       MachineBasicBlock *Src, MachineBasicBlock *Dst,
  645       MachineBasicBlock *Src, MachineBasicBlock *Dst,
  649   void visitSwitchCase(SwitchCG::CaseBlock &CB, MachineBasicBlock *SwitchBB);
  651                                MachineBasicBlock *ParentBB);
  654                           MachineBasicBlock *SwitchBB);
  655   void visitBitTestCase(SwitchCG::BitTestBlock &BB, MachineBasicBlock *NextMBB,
  657                         SwitchCG::BitTestCase &B, MachineBasicBlock *SwitchBB);
  661                             MachineBasicBlock *SwitchBB);
  787   MachineBasicBlock *NextBlock(MachineBasicBlock *MBB);
  787   MachineBasicBlock *NextBlock(MachineBasicBlock *MBB);
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  286 MachineBasicBlock *
  288                                             MachineBasicBlock *MBB) const {
  496   MachineBasicBlock *EntryMBB = &MF->front();
  548     SmallVector<MachineBasicBlock*, 4> Returns;
  550     for (MachineBasicBlock &MBB : mf) {
  554       MachineBasicBlock::iterator Term = MBB.getFirstTerminator();
  580         MachineBasicBlock::iterator InsertPos = Def;
  594       MachineBasicBlock::iterator InsertPos = Def;
  629         MachineBasicBlock::iterator Pos = CopyUseMI;
  637   for (const auto &MBB : *MF) {
  994   MachineBasicBlock *FirstMBB = FuncInfo->MBB, *LastMBB;
 1196 static void mapWasmLandingPadIndex(MachineBasicBlock *MBB,
 1227   MachineBasicBlock *MBB = FuncInfo->MBB;
 1522           MachineBasicBlock::iterator SavedInsertPt = FuncInfo->InsertPt;
 1674 static MachineBasicBlock::iterator
 1676   MachineBasicBlock::iterator SplitPoint = BB->getFirstTerminator();
 1681   MachineBasicBlock::iterator Start = BB->begin();
 1682   MachineBasicBlock::iterator Previous = SplitPoint;
 1719     MachineBasicBlock *ParentMBB = SDB->SPDescriptor.getParentMBB();
 1733     MachineBasicBlock *ParentMBB = SDB->SPDescriptor.getParentMBB();
 1734     MachineBasicBlock *SuccessMBB = SDB->SPDescriptor.getSuccessMBB();
 1742     MachineBasicBlock::iterator SplitPoint =
 1759     MachineBasicBlock *FailureMBB = SDB->SPDescriptor.getFailureMBB();
 1803       MachineBasicBlock *NextMBB;
 1834       MachineBasicBlock *PHIBB = PHI->getParent();
 1849         MachineBasicBlock* cBB = BTB.Cases[j].ThisBB;
 1887       MachineBasicBlock *PHIBB = PHI->getParent();
 1909     SmallVector<MachineBasicBlock *, 2> Succs;
 1922     MachineBasicBlock *ThisBB = FuncInfo->MBB;
 1934         for (MachineBasicBlock::iterator
lib/CodeGen/ShrinkWrap.cpp
  118   MachineBasicBlock *Save;
  123   MachineBasicBlock *Restore;
  149   const MachineBasicBlock *Entry;
  184   void updateSaveRestorePoints(MachineBasicBlock &MBB, RegScavenger *RS);
  313 static MachineBasicBlock *FindIDom(MachineBasicBlock &Block, ListOfBBs BBs,
  313 static MachineBasicBlock *FindIDom(MachineBasicBlock &Block, ListOfBBs BBs,
  315   MachineBasicBlock *IDom = &Block;
  316   for (MachineBasicBlock *BB : BBs) {
  326 void ShrinkWrap::updateSaveRestorePoints(MachineBasicBlock &MBB,
  425         SmallVector<MachineBasicBlock*, 4> ExitBlocks;
  429         MachineBasicBlock *IPdom = Restore;
  430         for (MachineBasicBlock *LoopExitBB: ExitBlocks) {
  452                               const MachineBasicBlock *MBB) {
  470   ReversePostOrderTraversal<MachineBasicBlock *> RPOT(&*MF.begin());
  471   if (containsIrreducibleCFG<MachineBasicBlock *>(RPOT, *MLI)) {
  487   for (MachineBasicBlock &MBB : MF) {
  558     MachineBasicBlock *NewBB;
lib/CodeGen/SlotIndexes.cpp
   70   for (MachineBasicBlock &MBB : *mf) {
  135     MachineBasicBlock::instr_iterator Next = std::next(MI.getIterator());
  167 void SlotIndexes::repairIndexesInRange(MachineBasicBlock *MBB,
  168                                        MachineBasicBlock::iterator Begin,
  198   MachineBasicBlock::iterator MBBI = End;
  229   for (MachineBasicBlock::iterator I = End; I != Begin;) {
lib/CodeGen/SpillPlacement.cpp
  210   for (auto &I : mf) {
lib/CodeGen/SplitKit.cpp
   77                                             const MachineBasicBlock &MBB) {
   82   SmallVector<const MachineBasicBlock *, 1> EHPadSuccessors;
   83   for (const MachineBasicBlock *SMBB : MBB.successors())
   90     MachineBasicBlock::const_iterator FirstTerm = MBB.getFirstTerminator();
  101     for (MachineBasicBlock::const_iterator I = MBB.end(), E = MBB.begin();
  138 MachineBasicBlock::iterator
  513     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  513     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  539     LaneBitmask LaneMask, MachineBasicBlock &MBB,
  540     MachineBasicBlock::iterator InsertBefore, bool Late, unsigned RegIdx) {
  630                                    MachineBasicBlock &MBB,
  631                                    MachineBasicBlock::iterator I) {
  727 SlotIndex SplitEditor::enterIntvAtEnd(MachineBasicBlock &MBB) {
  747 void SplitEditor::useIntv(const MachineBasicBlock &MBB) {
  808 SlotIndex SplitEditor::leaveIntvAtTop(MachineBasicBlock &MBB) {
  858     MachineBasicBlock *MBB = MI->getParent();
  859     MachineBasicBlock::iterator MBBI(MI);
  890 MachineBasicBlock*
  891 SplitEditor::findShallowDominator(MachineBasicBlock *MBB,
  892                                   MachineBasicBlock *DefMBB) {
  902   MachineBasicBlock *BestMBB = MBB;
  976         MachineBasicBlock *MBB1 = LIS.getMBBFromIndex((*It1)->def);
  977         MachineBasicBlock *MBB2 = LIS.getMBBFromIndex((*It2)->def);
 1009   using DomPair = std::pair<MachineBasicBlock *, SlotIndex>;
 1030     MachineBasicBlock *ValMBB = LIS.getMBBFromIndex(VNI->def);
 1058       MachineBasicBlock *Near =
 1083     MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(ParentVNI->def);
 1241 void SplitEditor::extendPHIRange(MachineBasicBlock &B, LiveRangeCalc &LRC,
 1244   for (MachineBasicBlock *P : B.predecessors()) {
 1274     MachineBasicBlock &B = *LIS.getMBBFromIndex(V->def);
 1292       MachineBasicBlock &B = *LIS.getMBBFromIndex(V->def);
 1459     MachineBasicBlock &MBB = *Indexes.getMBBFromIndex(VNI.def);
 1460     for (const MachineBasicBlock *Pred : MBB.predecessors()) {
 1616   MachineBasicBlock *MBB = VRM.getMachineFunction().getBlockNumbered(MBBNum);
lib/CodeGen/SplitKit.h
   60                                    const MachineBasicBlock &MBB);
   67                                const MachineBasicBlock &MBB) {
   77   MachineBasicBlock::iterator getLastInsertPointIter(const LiveInterval &CurLI,
   81   SlotIndex getFirstInsertPoint(MachineBasicBlock &MBB) {
   84       MachineBasicBlock::iterator MII = MBB.SkipPHIsLabelsAndDebug(MBB.begin());
  121     MachineBasicBlock *MBB;
  221   using BlockPtrSet = SmallPtrSet<const MachineBasicBlock *, 16>;
  237   MachineBasicBlock::iterator getLastSplitPointIter(MachineBasicBlock *BB) {
  387                         MachineBasicBlock &MBB,
  388                         MachineBasicBlock::iterator I);
  396   MachineBasicBlock *findShallowDominator(MachineBasicBlock *MBB,
  396   MachineBasicBlock *findShallowDominator(MachineBasicBlock *MBB,
  397                                           MachineBasicBlock *DefMBB);
  417   void extendPHIRange(MachineBasicBlock &B, LiveRangeCalc &LRC,
  435       MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  435       MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  439       MachineBasicBlock &MB, MachineBasicBlock::iterator InsertBefore,
  439       MachineBasicBlock &MB, MachineBasicBlock::iterator InsertBefore,
  475   SlotIndex enterIntvAtEnd(MachineBasicBlock &MBB);
  478   void useIntv(const MachineBasicBlock &MBB);
  494   SlotIndex leaveIntvAtTop(MachineBasicBlock &MBB);
lib/CodeGen/StackColoring.cpp
  402   using LivenessMap = DenseMap<const MachineBasicBlock *, BlockLifetimeInfo>;
  406   DenseMap<const MachineBasicBlock *, int> BasicBlocks;
  409   SmallVector<const MachineBasicBlock *, 8> BasicBlockNumbering;
  451   using BlockBitVecMap = DenseMap<const MachineBasicBlock *, BitVector>;
  456   void dumpBB(MachineBasicBlock *MBB) const;
  539 LLVM_DUMP_METHOD void StackColoring::dumpBB(MachineBasicBlock *MBB) const {
  551   for (MachineBasicBlock *MBB : depth_first(MF)) {
  638   for (MachineBasicBlock *MBB : depth_first(MF)) {
  644     for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
  710   for (MachineBasicBlock *MBB : depth_first(MF)) {
  767     for (const MachineBasicBlock *BB : BasicBlockNumbering) {
  775       for (MachineBasicBlock::const_pred_iterator PI = BB->pred_begin(),
  819   for (const MachineBasicBlock &MBB : *MF) {
  962   for (MachineBasicBlock &BB : *MF)
 1078   for (MachineBasicBlock &BB : *MF)
lib/CodeGen/StackMapLivenessAnalysis.cpp
  125   for (auto &MBB : MF) {
lib/CodeGen/StackSlotColoring.cpp
  124     bool RemoveDeadStores(MachineBasicBlock* MBB);
  161     MachineBasicBlock *MBB = &*MBBI;
  162     for (MachineBasicBlock::iterator MII = MBB->begin(), EE = MBB->end();
  374   for (MachineBasicBlock &MBB : MF) {
  422 bool StackSlotColoring::RemoveDeadStores(MachineBasicBlock* MBB) {
  429   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
  442     MachineBasicBlock::iterator NextMI = std::next(I);
  443     MachineBasicBlock::iterator ProbableLoadMI = I;
lib/CodeGen/SwiftErrorValueTracking.cpp
   26 Register SwiftErrorValueTracking::getOrCreateVReg(const MachineBasicBlock *MBB,
   45 void SwiftErrorValueTracking::setCurrentVReg(const MachineBasicBlock *MBB,
   51     const Instruction *I, const MachineBasicBlock *MBB, const Value *Val) {
   66     const Instruction *I, const MachineBasicBlock *MBB, const Value *Val) {
  124   MachineBasicBlock *MBB = &*MF->begin();
  158   for (MachineBasicBlock *MBB : RPOT) {
  181       SmallVector<std::pair<MachineBasicBlock *, Register>, 4> VRegs;
  182       SmallSet<const MachineBasicBlock *, 8> Visited;
  183       for (auto *Pred : MBB->predecessors()) {
  260     MachineBasicBlock *MBB, BasicBlock::const_iterator Begin,
lib/CodeGen/SwitchLoweringUtils.cpp
   45                                               MachineBasicBlock *DefaultMBB) {
  188                                               MachineBasicBlock *DefaultMBB,
  194   std::vector<MachineBasicBlock*> Table;
  195   DenseMap<MachineBasicBlock*, BranchProbability> JTProbs;
  232   MachineBasicBlock *JumpTableMBB =
  236   SmallPtrSet<MachineBasicBlock *, 8> Done;
  237   for (MachineBasicBlock *Succ : Table) {
  445     MachineBasicBlock *BitTestBB =
  475     MachineBasicBlock *Succ = CC.MBB;
lib/CodeGen/TailDuplicator.cpp
   97     MachineBasicBlock *MBB = &*I;
   98     SmallSetVector<MachineBasicBlock *, 8> Preds(MBB->pred_begin(),
  100     MachineBasicBlock::iterator MI = MBB->begin();
  104       for (MachineBasicBlock *PredBB : Preds) {
  107           MachineBasicBlock *PHIBB = MI->getOperand(i + 1).getMBB();
  123         MachineBasicBlock *PHIBB = MI->getOperand(i + 1).getMBB();
  152     bool IsSimple, MachineBasicBlock *MBB,
  153     MachineBasicBlock *ForcedLayoutPred,
  154     SmallVectorImpl<MachineBasicBlock*> *DuplicatedPreds,
  155     function_ref<void(MachineBasicBlock *)> *RemovalCallback) {
  157   SmallSetVector<MachineBasicBlock *, 8> Succs(MBB->succ_begin(),
  160   SmallVector<MachineBasicBlock *, 8> TDBBs;
  193       MachineBasicBlock *DefBB = nullptr;
  203         MachineBasicBlock *SrcBB = LI->second[j].first;
  269     MachineBasicBlock *MBB = &*I++;
  288 static bool isDefLiveOut(unsigned Reg, MachineBasicBlock *BB,
  299 static unsigned getPHISrcRegOpIdx(MachineInstr *MI, MachineBasicBlock *SrcBB) {
  309 static void getRegsUsedByPHIs(const MachineBasicBlock &BB,
  323                                        MachineBasicBlock *BB) {
  339     MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB,
  339     MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB,
  371     MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB,
  371     MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB,
  461     MachineBasicBlock *FromBB, bool isDead,
  462     SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  463     SmallSetVector<MachineBasicBlock *, 8> &Succs) {
  464   for (MachineBasicBlock *SuccBB : Succs) {
  503           MachineBasicBlock *SrcBB = LI->second[j].first;
  523           MachineBasicBlock *SrcBB = TDBBs[j];
  543                                          MachineBasicBlock &TailBB) {
  571   MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
  662 bool TailDuplicator::isSimpleBB(MachineBasicBlock *TailBB) {
  667   MachineBasicBlock::iterator I = TailBB->getFirstNonDebugInstr();
  673 static bool bothUsedInPHI(const MachineBasicBlock &A,
  674                           const SmallPtrSet<MachineBasicBlock *, 8> &SuccsB) {
  675   for (MachineBasicBlock *BB : A.successors())
  682 bool TailDuplicator::canCompletelyDuplicateBB(MachineBasicBlock &BB) {
  683   for (MachineBasicBlock *PredBB : BB.predecessors()) {
  687     MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
  699     MachineBasicBlock *TailBB, SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  699     MachineBasicBlock *TailBB, SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  702   SmallPtrSet<MachineBasicBlock *, 8> Succs(TailBB->succ_begin(),
  704   SmallVector<MachineBasicBlock *, 8> Preds(TailBB->pred_begin(),
  707   for (MachineBasicBlock *PredBB : Preds) {
  714     MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
  723     MachineBasicBlock *NewTarget = *TailBB->succ_begin();
  724     MachineBasicBlock *NextBB = PredBB->getNextNode();
  772 bool TailDuplicator::canTailDuplicate(MachineBasicBlock *TailBB,
  773                                       MachineBasicBlock *PredBB) {
  778   MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr;
  797 bool TailDuplicator::tailDuplicate(bool IsSimple, MachineBasicBlock *TailBB,
  798                                    MachineBasicBlock *ForcedLayoutPred,
  799                                    SmallVectorImpl<MachineBasicBlock *> &TDBBs,
  814   SmallSetVector<MachineBasicBlock *, 8> Preds(TailBB->pred_begin(),
  816   for (MachineBasicBlock *PredBB : Preds) {
  843     for (MachineBasicBlock::iterator I = TailBB->begin(), E = TailBB->end();
  865     for (MachineBasicBlock *Succ : TailBB->successors())
  875   MachineBasicBlock *PrevBB = ForcedLayoutPred;
  878   MachineBasicBlock *PriorTBB = nullptr, *PriorFBB = nullptr;
  899       MachineBasicBlock::iterator I = TailBB->begin();
  952   for (MachineBasicBlock *PredBB : Preds) {
  962     MachineBasicBlock::iterator I = TailBB->begin();
  978 void TailDuplicator::appendCopies(MachineBasicBlock *MBB,
  981   MachineBasicBlock::iterator Loc = MBB->getFirstTerminator();
  993     MachineBasicBlock *MBB,
  994     function_ref<void(MachineBasicBlock *)> *RemovalCallback) {
lib/CodeGen/TargetInstrInfo.cpp
   65 void TargetInstrInfo::insertNoop(MachineBasicBlock &MBB,
   66                                  MachineBasicBlock::iterator MI) const {
  130 TargetInstrInfo::ReplaceTailWithBranchTo(MachineBasicBlock::iterator Tail,
  132   MachineBasicBlock *MBB = Tail->getParent();
  408 void TargetInstrInfo::reMaterialize(MachineBasicBlock &MBB,
  409                                     MachineBasicBlock::iterator I,
  424 MachineInstr &TargetInstrInfo::duplicate(MachineBasicBlock &MBB,
  425     MachineBasicBlock::iterator InsertBefore, const MachineInstr &Orig) const {
  540   MachineBasicBlock *MBB = MI.getParent();
  610   MachineBasicBlock::iterator Pos = MI;
  629   MachineBasicBlock &MBB = *MI.getParent();
  668     const MachineInstr &Inst, const MachineBasicBlock *MBB) const {
  688   const MachineBasicBlock *MBB = Inst.getParent();
  987                                            const MachineBasicBlock *MBB,
lib/CodeGen/TargetLoweringBase.cpp
 1018 MachineBasicBlock *
 1020                                    MachineBasicBlock *MBB) const {
 1099 MachineBasicBlock *
 1101                                         MachineBasicBlock *MBB) const {
 1114 MachineBasicBlock *
 1116                                        MachineBasicBlock *MBB) const {
lib/CodeGen/TwoAddressInstructionPass.cpp
  104   MachineBasicBlock *MBB;
  127                             MachineBasicBlock::iterator OldPos);
  141   bool convertInstTo3Addr(MachineBasicBlock::iterator &mi,
  147   bool rescheduleMIBelowKill(MachineBasicBlock::iterator &mi,
  150   bool rescheduleKillAboveMI(MachineBasicBlock::iterator &mi,
  154   bool tryInstructionTransform(MachineBasicBlock::iterator &mi,
  173   void eliminateRegSequence(MachineBasicBlock::iterator&);
  217                      MachineBasicBlock::iterator OldPos) {
  287   MachineBasicBlock::iterator KillPos = KillMI;
  343 static MachineInstr *getSingleDef(unsigned Reg, MachineBasicBlock *BB,
  519 MachineInstr *findOnlyInterestingUse(unsigned Reg, MachineBasicBlock *MBB,
  729 TwoAddressInstructionPass::convertInstTo3Addr(MachineBasicBlock::iterator &mi,
  856 rescheduleMIBelowKill(MachineBasicBlock::iterator &mi,
  927   MachineBasicBlock::iterator Begin = MI;
  928   MachineBasicBlock::iterator AfterMI = std::next(Begin);
  929   MachineBasicBlock::iterator End = AfterMI;
  941   MachineBasicBlock::iterator KillPos = KillMI;
  993   MachineBasicBlock::iterator InsertPos = KillPos;
  997     for (MachineBasicBlock::iterator MBBI = AfterMI; MBBI != End;) {
 1046 rescheduleKillAboveMI(MachineBasicBlock::iterator &mi,
 1164   MachineBasicBlock::iterator InsertPos = mi;
 1167   MachineBasicBlock::iterator From = KillMI;
 1168   MachineBasicBlock::iterator To = std::next(From);
 1269 tryInstructionTransform(MachineBasicBlock::iterator &mi,
 1388         MachineBasicBlock::iterator NewMI = NewMIs[1];
 1437             MachineBasicBlock::iterator Begin(NewMIs[0]);
 1438             MachineBasicBlock::iterator End(NewMIs[1]);
 1572     MachineBasicBlock::iterator PrevMI = MI;
 1635       MachineBasicBlock::iterator PrevMI = MI;
 1703     for (MachineBasicBlock::iterator mi = MBB->begin(), me = MBB->end();
 1705       MachineBasicBlock::iterator nmi = std::next(mi);
 1799 eliminateRegSequence(MachineBasicBlock::iterator &MBBI) {
 1858   MachineBasicBlock::iterator EndMBBI =
lib/CodeGen/UnreachableBlockElim.cpp
  103   df_iterator_default_set<MachineBasicBlock*> Reachable;
  112   for (MachineBasicBlock *BB : depth_first_ext(&F, Reachable))
  117   std::vector<MachineBasicBlock*> DeadBlocks;
  119     MachineBasicBlock *BB = &*I;
  130         MachineBasicBlock* succ = *BB->succ_begin();
  132         MachineBasicBlock::iterator start = succ->begin();
  161     MachineBasicBlock *BB = &*I;
  163     SmallPtrSet<MachineBasicBlock*, 8> preds(BB->pred_begin(),
  165     MachineBasicBlock::iterator phi = BB->begin();
lib/CodeGen/VirtRegMap.cpp
  305     MachineBasicBlock *MBB = MBBI->second;
  335           MachineBasicBlock *MBB = I->second;
  344   for (MachineBasicBlock &MBB : *MF)
  410     MachineBasicBlock &MBB = *MI.getParent();
  411     for (MachineBasicBlock::reverse_instr_iterator I =
  502     for (MachineBasicBlock::instr_iterator
lib/CodeGen/XRayInstrumentation.cpp
   93   for (auto &MBB : MF) {
  126   for (auto &MBB : MF)
  160     for (const auto &MBB : MF)
  194   auto &FirstMBB = *MBI;
lib/Target/AArch64/AArch64A53Fix835769.cpp
  105   bool runOnBasicBlock(MachineBasicBlock &MBB);
  122   for (auto &MBB : F) {
  130 static MachineBasicBlock *getBBFallenThrough(MachineBasicBlock *MBB,
  130 static MachineBasicBlock *getBBFallenThrough(MachineBasicBlock *MBB,
  139   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  142   MachineBasicBlock *PrevBB = &*std::prev(MBBI);
  143   for (MachineBasicBlock *S : MBB->predecessors())
  155 static MachineInstr *getLastNonPseudo(MachineBasicBlock &MBB,
  157   MachineBasicBlock *FMBB = &MBB;
  171 static void insertNopBeforeInstruction(MachineBasicBlock &MBB, MachineInstr* MI,
  190 AArch64A53Fix835769::runOnBasicBlock(MachineBasicBlock &MBB) {
lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
  137   bool runOnBasicBlock(MachineBasicBlock &MBB);
  138   bool colorChainSet(std::vector<Chain*> GV, MachineBasicBlock &MBB,
  140   bool colorChain(Chain *G, Color C, MachineBasicBlock &MBB);
  141   int scavengeRegister(Chain *G, Color C, MachineBasicBlock &MBB);
  250   MachineBasicBlock::iterator end() const {
  253   MachineBasicBlock::iterator begin() const { return getStart(); }
  323   for (auto &MBB : F) {
  330 bool AArch64A57FPLoadBalancing::runOnBasicBlock(MachineBasicBlock &MBB) {
  440                                               MachineBasicBlock &MBB,
  497                                                 MachineBasicBlock &MBB) {
  502   MachineBasicBlock::iterator I = MBB.end();
  503   MachineBasicBlock::iterator ChainEnd = G->end();
  510   MachineBasicBlock::iterator ChainBegin = G->begin();
  531                                            MachineBasicBlock &MBB) {
lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
   81   bool processMachineBasicBlock(MachineBasicBlock *MBB);
  290   MachineBasicBlock *MBB = MI.getParent();
  378 bool AArch64AdvSIMDScalar::processMachineBasicBlock(MachineBasicBlock *MBB) {
  380   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;) {
lib/Target/AArch64/AArch64AsmPrinter.cpp
   89                           const MachineBasicBlock *MBB, unsigned JTI);
  708     const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
  717     for (auto *JTBB : JTBBs)
  723                                            const MachineBasicBlock *MBB,
  801   const MachineBasicBlock &MBB = *MI.getParent();
  802   MachineBasicBlock::const_iterator MII(MI);
lib/Target/AArch64/AArch64BranchTargets.cpp
   41   void addBTI(MachineBasicBlock &MBB, bool CouldCall, bool CouldJump);
   71   SmallPtrSet<MachineBasicBlock *, 8> JumpTableTargets;
   74       for (auto *MBB : JTE.MBBs)
   78   for (MachineBasicBlock &MBB : MF) {
  103 void AArch64BranchTargets::addBTI(MachineBasicBlock &MBB, bool CouldCall,
lib/Target/AArch64/AArch64CallLowering.cpp
  378   MachineBasicBlock &MBB = MIRBuilder.getMBB();
  420   MachineBasicBlock &MBB = MIRBuilder.getMBB();
lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
   63     MachineBasicBlock *BB = Node->getBlock();
   67     for (MachineBasicBlock::iterator I = BB->begin(), E = BB->end(); I != E;
lib/Target/AArch64/AArch64CollectLOH.cpp
  511   for (const MachineBasicBlock &MBB : MF) {
  515     for (const MachineBasicBlock *Succ : MBB.successors()) {
lib/Target/AArch64/AArch64CompressJumpTables.cpp
   39   int computeBlockSize(MachineBasicBlock &MBB);
   66 int AArch64CompressJumpTables::computeBlockSize(MachineBasicBlock &MBB) {
   78   for (MachineBasicBlock &MBB : *MF) {
   99   MachineBasicBlock *MinBlock = nullptr;
  149   for (MachineBasicBlock &MBB : *MF) {
lib/Target/AArch64/AArch64CondBrTuning.cpp
  115   MachineBasicBlock *TargetMBB = TII->getBranchDestBlock(MI);
  197       MachineBasicBlock::iterator I(DefMI), E(MI);
  256       MachineBasicBlock::iterator I(DefMI), E(MI);
  304   for (MachineBasicBlock &MBB : MF) {
  306     for (MachineBasicBlock::iterator I = MBB.getFirstTerminator(),
lib/Target/AArch64/AArch64ConditionOptimizer.cpp
  110   MachineInstr *findSuitableCompare(MachineBasicBlock *MBB);
  146     MachineBasicBlock *MBB) {
  147   MachineBasicBlock::iterator I = MBB->getFirstTerminator();
  160   for (MachineBasicBlock::iterator B = MBB->begin(); I != B;) {
  276   MachineBasicBlock *const MBB = CmpMI->getParent();
  346     MachineBasicBlock *HBB = I->getBlock();
  349     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  360     MachineBasicBlock *TBB_TBB = nullptr, *TBB_FBB = nullptr;
lib/Target/AArch64/AArch64ConditionalCompares.cpp
  147   MachineBasicBlock *Head;
  150   MachineBasicBlock *CmpBB;
  153   MachineBasicBlock *Tail;
  182   MachineInstr *findConvertibleCompare(MachineBasicBlock *MBB);
  186   bool canSpeculateInstrs(MachineBasicBlock *MBB, const MachineInstr *CmpMI);
  201   bool canConvert(MachineBasicBlock *MBB);
  205   void convert(SmallVectorImpl<MachineBasicBlock *> &RemovedBlocks);
  222       MachineBasicBlock *MBB = I.getOperand(oi + 1).getMBB();
  298 MachineInstr *SSACCmpConv::findConvertibleCompare(MachineBasicBlock *MBB) {
  299   MachineBasicBlock::iterator I = MBB->getFirstTerminator();
  318   for (MachineBasicBlock::iterator B = MBB->begin(); I != B;) {
  382 bool SSACCmpConv::canSpeculateInstrs(MachineBasicBlock *MBB,
  438 bool SSACCmpConv::canConvert(MachineBasicBlock *MBB) {
  444   MachineBasicBlock *Succ0 = Head->succ_begin()[0];
  445   MachineBasicBlock *Succ1 = Head->succ_begin()[1];
  501   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  569 void SSACCmpConv::convert(SmallVectorImpl<MachineBasicBlock *> &RemovedBlocks) {
  787   bool tryConvert(MachineBasicBlock *);
  788   void updateDomTree(ArrayRef<MachineBasicBlock *> Removed);
  789   void updateLoops(ArrayRef<MachineBasicBlock *> Removed);
  822     ArrayRef<MachineBasicBlock *> Removed) {
  826   for (MachineBasicBlock *RemovedMBB : Removed) {
  838 AArch64ConditionalCompares::updateLoops(ArrayRef<MachineBasicBlock *> Removed) {
  841   for (MachineBasicBlock *RemovedMBB : Removed)
  915 bool AArch64ConditionalCompares::tryConvert(MachineBasicBlock *MBB) {
  919     SmallVector<MachineBasicBlock *, 4> RemovedBlocks;
lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
   41   void processMachineBasicBlock(MachineBasicBlock &MBB);
  117     MachineBasicBlock &MBB) {
  196   for (auto &MBB : MF)
lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
   65   bool expandMBB(MachineBasicBlock &MBB);
   66   bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   66   bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   68   bool expandMOVImm(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   68   bool expandMOVImm(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   71   bool expandCMP_SWAP(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   71   bool expandCMP_SWAP(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   75   bool expandCMP_SWAP_128(MachineBasicBlock &MBB,
   76                           MachineBasicBlock::iterator MBBI,
   78   bool expandSetTagLoop(MachineBasicBlock &MBB,
   79                         MachineBasicBlock::iterator MBBI,
  108 bool AArch64ExpandPseudo::expandMOVImm(MachineBasicBlock &MBB,
  109                                        MachineBasicBlock::iterator MBBI,
  171     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned LdarOp,
  171     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned LdarOp,
  251     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  251     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  344     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  344     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  403 bool AArch64ExpandPseudo::expandMI(MachineBasicBlock &MBB,
  404                                    MachineBasicBlock::iterator MBBI,
  712 bool AArch64ExpandPseudo::expandMBB(MachineBasicBlock &MBB) {
  715   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  717     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
  729   for (auto &MBB : MF)
lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
  679   for (MachineBasicBlock *MBB : L.getBlocks())
  713   for (MachineBasicBlock *MBB : L.getBlocks()) {
lib/Target/AArch64/AArch64FastISel.cpp
 2052           MachineBasicBlock::iterator I(std::prev(FuncInfo.InsertPt));
 2075       MachineBasicBlock::iterator I(MI);
 2316   MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)];
 2317   MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)];
 2423     MachineBasicBlock *MSucc = FuncInfo.MBBMap[BI->getSuccessor(0)];
 2428   MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)];
 2429   MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)];
 2495     MachineBasicBlock *Target = (Imm == 0) ? FBB : TBB;
 4571     MachineBasicBlock::iterator I(MI);
lib/Target/AArch64/AArch64FrameLowering.cpp
  188   for (MachineBasicBlock &MBB : MF) {
  273 MachineBasicBlock::iterator AArch64FrameLowering::eliminateCallFramePseudoInstr(
  345     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const {
  345     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const {
  382 static unsigned findScratchNonCalleeSaveRegister(MachineBasicBlock *MBB) {
  412     const MachineBasicBlock &MBB) const {
  414   MachineBasicBlock *TmpMBB = const_cast<MachineBasicBlock *>(&MBB);
  483 static MachineBasicBlock::iterator InsertSEH(MachineBasicBlock::iterator MBBI,
  487   MachineBasicBlock *MBB = MBBI->getParent();
  603 static void fixupSEHOpcode(MachineBasicBlock::iterator MBBI,
  625 static MachineBasicBlock::iterator convertCalleeSaveRestoreToSPPrePostIncDec(
  784 static void adaptForLdStOpt(MachineBasicBlock &MBB,
  785                             MachineBasicBlock::iterator FirstSPPopI,
  838                                         MachineBasicBlock &MBB) const {
  839   MachineBasicBlock::iterator MBBI = MBB.begin();
  967   MachineBasicBlock::iterator End = MBB.end();
 1282                                     MachineBasicBlock &MBB) {
 1288   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
 1322                                         MachineBasicBlock &MBB) const {
 1323   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
 1421     MachineBasicBlock::iterator Pop = std::prev(MBB.getFirstTerminator());
 1443   MachineBasicBlock::iterator LastPopI = MBB.getFirstTerminator();
 1444   MachineBasicBlock::iterator Begin = MBB.begin();
 1946     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 1946     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2073     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2073     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2362   MachineBasicBlock &MBB = MF.front();
lib/Target/AArch64/AArch64FrameLowering.h
   27   void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
   28                                  MachineBasicBlock::iterator MBBI) const;
   30   MachineBasicBlock::iterator
   36   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   37   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   39   bool canUseAsPrologue(const MachineBasicBlock &MBB) const override;
   50   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   51                                  MachineBasicBlock::iterator MI,
   55   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   56                                   MachineBasicBlock::iterator MI,
lib/Target/AArch64/AArch64ISelLowering.cpp
 1321 MachineBasicBlock *
 1323                                     MachineBasicBlock *MBB) const {
 1348   MachineBasicBlock *TrueBB = MF->CreateMachineBasicBlock(LLVM_BB);
 1349   MachineBasicBlock *EndBB = MF->CreateMachineBasicBlock(LLVM_BB);
 1381 MachineBasicBlock *AArch64TargetLowering::EmitLoweredCatchRet(
 1382        MachineInstr &MI, MachineBasicBlock *BB) const {
 1389 MachineBasicBlock *AArch64TargetLowering::EmitLoweredCatchPad(
 1390      MachineInstr &MI, MachineBasicBlock *BB) const {
 1395 MachineBasicBlock *AArch64TargetLowering::EmitInstrWithCustomInserter(
 1396     MachineInstr &MI, MachineBasicBlock *BB) const {
12368 void AArch64TargetLowering::initializeSplitCSR(MachineBasicBlock *Entry) const {
12375     MachineBasicBlock *Entry,
12376     const SmallVectorImpl<MachineBasicBlock *> &Exits) const {
12384   MachineBasicBlock::iterator MBBI = Entry->begin();
12408     for (auto *Exit : Exits)
lib/Target/AArch64/AArch64ISelLowering.h
  326   MachineBasicBlock *EmitF128CSEL(MachineInstr &MI,
  327                                   MachineBasicBlock *BB) const;
  329   MachineBasicBlock *EmitLoweredCatchRet(MachineInstr &MI,
  330                                            MachineBasicBlock *BB) const;
  332   MachineBasicBlock *EmitLoweredCatchPad(MachineInstr &MI,
  333                                          MachineBasicBlock *BB) const;
  335   MachineBasicBlock *
  337                               MachineBasicBlock *MBB) const override;
  539   void initializeSplitCSR(MachineBasicBlock *Entry) const override;
  541       MachineBasicBlock *Entry,
  542       const SmallVectorImpl<MachineBasicBlock *> &Exits) const override;
lib/Target/AArch64/AArch64InstrInfo.cpp
   76   const MachineBasicBlock &MBB = *MI.getParent();
  126 static void parseCondBranch(MachineInstr *LastInst, MachineBasicBlock *&Target,
  186 MachineBasicBlock *
  208 bool AArch64InstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  209                                      MachineBasicBlock *&TBB,
  210                                      MachineBasicBlock *&FBB,
  214   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  336 unsigned AArch64InstrInfo::removeBranch(MachineBasicBlock &MBB,
  338   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  372     MachineBasicBlock &MBB, const DebugLoc &DL, MachineBasicBlock *TBB,
  372     MachineBasicBlock &MBB, const DebugLoc &DL, MachineBasicBlock *TBB,
  389     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  389     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  389     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  496 bool AArch64InstrInfo::canInsertSelect(const MachineBasicBlock &MBB,
  538 void AArch64InstrInfo::insertSelect(MachineBasicBlock &MBB,
  539                                     MachineBasicBlock::iterator I,
  964                                             const MachineBasicBlock *MBB,
 1048   MachineBasicBlock *MBB = Instr.getParent();
 1141     MachineBasicBlock::iterator From, MachineBasicBlock::iterator To,
 1273 static bool areCFlagsAliveInSuccessors(MachineBasicBlock *MBB) {
 1274   for (auto *BB : MBB->successors())
 1473   MachineBasicBlock &MBB = *MI.getParent();
 1482     MachineBasicBlock *TargetMBB = MI.getOperand(0).getMBB();
 1484     MachineBasicBlock::iterator FirstEpilogSEH = std::prev(MBBI);
 2410 void AArch64InstrInfo::copyPhysRegTuple(MachineBasicBlock &MBB,
 2411                                         MachineBasicBlock::iterator I,
 2437 void AArch64InstrInfo::copyGPRRegTuple(MachineBasicBlock &MBB,
 2438                                        MachineBasicBlock::iterator I,
 2462 void AArch64InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
 2463                                    MachineBasicBlock::iterator I,
 2783                                     MachineBasicBlock &MBB,
 2784                                     MachineBasicBlock::iterator InsertBefore,
 2806     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned SrcReg,
 2806     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned SrcReg,
 2912                                      MachineBasicBlock &MBB,
 2913                                      MachineBasicBlock::iterator InsertBefore,
 2937     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg,
 2937     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg,
 3044 static void emitFrameOffsetAdj(MachineBasicBlock &MBB,
 3045                                MachineBasicBlock::iterator MBBI,
 3136 void llvm::emitFrameOffset(MachineBasicBlock &MBB,
 3137                            MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
 3179     MachineBasicBlock::iterator InsertPt, int FrameIndex,
 3238     MachineBasicBlock &MBB = *MI.getParent();
 3594 static bool canCombine(MachineBasicBlock &MBB, MachineOperand &MO,
 3623 static bool canCombineWithMUL(MachineBasicBlock &MBB, MachineOperand &MO,
 3630 static bool canCombineWithFMUL(MachineBasicBlock &MBB, MachineOperand &MO,
 3667   MachineBasicBlock &MBB = *Root.getParent();
 3740   MachineBasicBlock &MBB = *Root.getParent();
 4103   MachineBasicBlock &MBB = *Root.getParent();
 4783   MachineBasicBlock *MBB = MI.getParent();
 4828     MachineBasicBlock &RefToMBB = *MBB;
 4829     MachineBasicBlock *TBB = MI.getOperand(1).getMBB();
 4870     MachineBasicBlock &RefToMBB = *MBB;
 4871     MachineBasicBlock *TBB = MI.getOperand(TargetBBInMI).getMBB();
 5305 bool AArch64InstrInfo::isMBBSafeToOutlineFrom(MachineBasicBlock &MBB,
 5372 AArch64InstrInfo::getOutliningType(MachineBasicBlock::iterator &MIT,
 5375   MachineBasicBlock *MBB = MI.getParent();
 5502 void AArch64InstrInfo::fixupPostOutline(MachineBasicBlock &MBB) const {
 5532     MachineBasicBlock &MBB, MachineFunction &MF,
 5566     MachineBasicBlock::iterator It = MBB.begin();
 5567     MachineBasicBlock::iterator Et = MBB.end();
 5628 MachineBasicBlock::iterator AArch64InstrInfo::insertOutlinedCall(
 5651   MachineBasicBlock::iterator CallPt;
lib/Target/AArch64/AArch64InstrInfo.h
  133   void copyPhysRegTuple(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  133   void copyPhysRegTuple(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  137   void copyGPRRegTuple(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  137   void copyGPRRegTuple(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  141   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  141   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  145   void storeRegToStackSlot(MachineBasicBlock &MBB,
  146                            MachineBasicBlock::iterator MBBI, unsigned SrcReg,
  151   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  152                             MachineBasicBlock::iterator MBBI, unsigned DestReg,
  164                         MachineBasicBlock::iterator InsertPt, int FrameIndex,
  173   MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const override;
  175   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  175   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  176                      MachineBasicBlock *&FBB,
  179   unsigned removeBranch(MachineBasicBlock &MBB,
  181   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  181   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  182                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  187   bool canInsertSelect(const MachineBasicBlock &, ArrayRef<MachineOperand> Cond,
  189   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  189   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  196                             const MachineBasicBlock *MBB,
  251   getOutliningType(MachineBasicBlock::iterator &MIT, unsigned Flags) const override;
  252   bool isMBBSafeToOutlineFrom(MachineBasicBlock &MBB,
  254   void buildOutlinedFrame(MachineBasicBlock &MBB, MachineFunction &MF,
  256   MachineBasicBlock::iterator
  283   void fixupPostOutline(MachineBasicBlock &MBB) const;
  285   void instantiateCondBranch(MachineBasicBlock &MBB, const DebugLoc &DL,
  286                              MachineBasicBlock *TBB,
  300 void emitFrameOffset(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  300 void emitFrameOffset(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
lib/Target/AArch64/AArch64InstructionSelector.cpp
  956   MachineBasicBlock *DestMBB = I.getOperand(1).getMBB();
 1117   MachineBasicBlock &MBB = *I.getParent();
 1155   MachineBasicBlock &MBB = *I.getParent();
 1279   MachineBasicBlock &MBB = *I.getParent();
 1320   MachineBasicBlock &MBB = *I.getParent();
 1405     MachineBasicBlock *DestMBB = I.getOperand(1).getMBB();
 2974   MachineBasicBlock &MBB = *I.getParent();
 3658   MachineBasicBlock &MBB = *I.getParent();
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  111   MachineBasicBlock::iterator findMatchingInsn(MachineBasicBlock::iterator I,
  118   bool findMatchingStore(MachineBasicBlock::iterator I, unsigned Limit,
  122   MachineBasicBlock::iterator
  128   MachineBasicBlock::iterator
  134   MachineBasicBlock::iterator
  141   MachineBasicBlock::iterator
  148   MachineBasicBlock::iterator
  157   MachineBasicBlock::iterator
  162   bool tryToMergeZeroStInst(MachineBasicBlock::iterator &MBBI);
  165   bool tryToPairLdStInst(MachineBasicBlock::iterator &MBBI);
  168   bool tryToPromoteLoadFromStore(MachineBasicBlock::iterator &MBBI);
  171   bool tryToMergeLdStUpdate(MachineBasicBlock::iterator &MBBI);
  173   bool optimizeBlock(MachineBasicBlock &MBB, bool EnableNarrowZeroStOpt);
  716 MachineBasicBlock::iterator
  723   MachineBasicBlock::iterator NextI = I;
  739   MachineBasicBlock::iterator InsertionPoint = MergeForward ? MergeMI : I;
  762   MachineBasicBlock *MBB = I->getParent();
  786 MachineBasicBlock::iterator
  790   MachineBasicBlock::iterator NextI = I;
  808   MachineBasicBlock::iterator InsertionPoint = MergeForward ? Paired : I;
  858   MachineBasicBlock *MBB = I->getParent();
  941 MachineBasicBlock::iterator
  944   MachineBasicBlock::iterator NextI = LoadI;
 1104     MachineBasicBlock::iterator I, unsigned Limit,
 1106   MachineBasicBlock::iterator B = I->getParent()->begin();
 1107   MachineBasicBlock::iterator MBBI = I;
 1212 MachineBasicBlock::iterator
 1216   MachineBasicBlock::iterator E = I->getParent()->end();
 1217   MachineBasicBlock::iterator MBBI = I;
 1372 MachineBasicBlock::iterator
 1379   MachineBasicBlock::iterator NextI = I;
 1488 MachineBasicBlock::iterator AArch64LoadStoreOpt::findMatchingUpdateInsnForward(
 1490   MachineBasicBlock::iterator E = I->getParent()->end();
 1492   MachineBasicBlock::iterator MBBI = I;
 1547 MachineBasicBlock::iterator AArch64LoadStoreOpt::findMatchingUpdateInsnBackward(
 1549   MachineBasicBlock::iterator B = I->getParent()->begin();
 1550   MachineBasicBlock::iterator E = I->getParent()->end();
 1552   MachineBasicBlock::iterator MBBI = I;
 1603     MachineBasicBlock::iterator &MBBI) {
 1615   MachineBasicBlock::iterator StoreI;
 1629     MachineBasicBlock::iterator &MBBI) {
 1632   MachineBasicBlock::iterator E = MI.getParent()->end();
 1639   MachineBasicBlock::iterator MergeMI =
 1654 bool AArch64LoadStoreOpt::tryToPairLdStInst(MachineBasicBlock::iterator &MBBI) {
 1656   MachineBasicBlock::iterator E = MI.getParent()->end();
 1675   MachineBasicBlock::iterator Paired =
 1690     (MachineBasicBlock::iterator &MBBI) {
 1692   MachineBasicBlock::iterator E = MI.getParent()->end();
 1693   MachineBasicBlock::iterator Update;
 1743 bool AArch64LoadStoreOpt::optimizeBlock(MachineBasicBlock &MBB,
 1756   for (MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
 1775     for (MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
 1789   for (MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
 1803   for (MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
 1831   for (auto &MBB : Fn)
lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
  333   for (const auto &MBB: MF) {
lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
   93   bool knownRegValInBlock(MachineInstr &CondBr, MachineBasicBlock *MBB,
   95                           MachineBasicBlock::iterator &FirstUse);
   96   bool optimizeBlock(MachineBasicBlock *MBB);
  125     MachineInstr &CondBr, MachineBasicBlock *MBB,
  126     SmallVectorImpl<RegImm> &KnownRegs, MachineBasicBlock::iterator &FirstUse) {
  149   MachineBasicBlock *BrTarget = CondBr.getOperand(1).getMBB();
  155   MachineBasicBlock *PredMBB = *MBB->pred_begin();
  167   MachineBasicBlock::reverse_iterator RIt = CondBr.getReverseIterator();
  279 bool AArch64RedundantCopyElimination::optimizeBlock(MachineBasicBlock *MBB) {
  286   MachineBasicBlock *PredMBB = *MBB->pred_begin();
  290   MachineBasicBlock::iterator CondBr = PredMBB->getLastNonDebugInstr();
  296   MachineBasicBlock::iterator FirstUse;
  306   MachineBasicBlock::iterator Itr = std::next(CondBr);
  373   MachineBasicBlock::iterator LastChange = MBB->begin();
  375   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;) {
  485   for (MachineBasicBlock &MBB : MF)
lib/Target/AArch64/AArch64RegisterInfo.cpp
  405 void AArch64RegisterInfo::materializeFrameBaseRegister(MachineBasicBlock *MBB,
  409   MachineBasicBlock::iterator Ins = MBB->begin();
  446 void AArch64RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  452   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/AArch64/AArch64RegisterInfo.h
  101   void materializeFrameBaseRegister(MachineBasicBlock *MBB, unsigned BaseReg,
  106   void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
  319   for (MachineBasicBlock::iterator MII = MI, MIE = MI.getParent()->begin();
  425   MachineBasicBlock &MBB = *MI.getParent();
  508   MachineBasicBlock &MBB = *MI.getParent();
  710       for (MachineBasicBlock &MBB : MF) {
  711         for (MachineBasicBlock::iterator MII = MBB.begin(), MIE = MBB.end();
lib/Target/AArch64/AArch64SpeculationHardening.cpp
  150   bool instrumentControlFlow(MachineBasicBlock &MBB,
  152   bool endsWithCondControlFlow(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  152   bool endsWithCondControlFlow(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  153                                MachineBasicBlock *&FBB,
  155   void insertTrackingCode(MachineBasicBlock &SplitEdgeBB,
  157   void insertSPToRegTaintPropagation(MachineBasicBlock &MBB,
  158                                      MachineBasicBlock::iterator MBBI) const;
  159   void insertRegToSPTaintPropagation(MachineBasicBlock &MBB,
  160                                      MachineBasicBlock::iterator MBBI,
  162   void insertFullSpeculationBarrier(MachineBasicBlock &MBB,
  163                                     MachineBasicBlock::iterator MBBI,
  166   bool slhLoads(MachineBasicBlock &MBB);
  167   bool makeGPRSpeculationSafe(MachineBasicBlock &MBB,
  168                               MachineBasicBlock::iterator MBBI,
  170   bool lowerSpeculationSafeValuePseudos(MachineBasicBlock &MBB,
  172   bool expandSpeculationSafeValue(MachineBasicBlock &MBB,
  173                                   MachineBasicBlock::iterator MBBI,
  175   bool insertCSDB(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  175   bool insertCSDB(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  187     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
  187     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
  187     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
  218     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  218     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  226     MachineBasicBlock &SplitEdgeBB, AArch64CC::CondCode &CondCode,
  241     MachineBasicBlock &MBB, bool &UsesFullSpeculationBarrier) {
  245   MachineBasicBlock *TBB = nullptr;
  246   MachineBasicBlock *FBB = nullptr;
  258     MachineBasicBlock *SplitEdgeTBB = MBB.SplitCriticalEdge(TBB, *this);
  259     MachineBasicBlock *SplitEdgeFBB = MBB.SplitCriticalEdge(FBB, *this);
  291   for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); I++) {
  359     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const {
  359     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const {
  383     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  383     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  413   for (MachineBasicBlock &MBB : MF) {
  431     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, MachineInstr &MI,
  431     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, MachineInstr &MI,
  459 bool AArch64SpeculationHardening::slhLoads(MachineBasicBlock &MBB) {
  466   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  467   MachineBasicBlock::iterator NextMBBI;
  548     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  548     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  589 bool AArch64SpeculationHardening::insertCSDB(MachineBasicBlock &MBB,
  590                                              MachineBasicBlock::iterator MBBI,
  602     MachineBasicBlock &MBB, bool UsesFullSpeculationBarrier) {
  617   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  622     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
  671     for (auto &MBB : MF)
  680   SmallVector<MachineBasicBlock *, 2> EntryBlocks;
  689   for (auto &MBB : MF) {
lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
  190   for (auto &BB : *MF) {
lib/Target/AArch64/AArch64StorePairSuppress.cpp
   49   bool shouldAddSTPToBlock(const MachineBasicBlock *BB);
   76 bool AArch64StorePairSuppress::shouldAddSTPToBlock(const MachineBasicBlock *BB) {
  144   for (auto &MBB : MF) {
lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
  179   const MachineBasicBlock *MBB) const {
  276 void AMDGPUAsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) {
  576   for (const MachineBasicBlock &MBB : MF) {
  696   for (const MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/AMDGPUAsmPrinter.h
  132   void EmitBasicBlockStart(const MachineBasicBlock &MBB) override;
  141     const MachineBasicBlock *MBB) const override;
lib/Target/AMDGPU/AMDGPUCallLowering.cpp
  565   MachineBasicBlock &MBB = B.getMBB();
lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
  114   MachineBasicBlock *BB = I.getParent();
  220   MachineBasicBlock *BB = MO.getParent()->getParent();
  300   MachineBasicBlock *BB = I.getParent();
  397   MachineBasicBlock *BB = I.getParent();
  438   MachineBasicBlock *BB = I.getParent();
  461   MachineBasicBlock *BB = MI.getParent();
  500   MachineBasicBlock *BB = MI.getParent();
  561   MachineBasicBlock *BB = I.getParent();
  617     MachineBasicBlock *BB = I.getParent();
  717   MachineBasicBlock *BB = I.getParent();
  762   MachineBasicBlock &BB = *Insert->getParent();
  949     MachineBasicBlock::iterator OldInsPt = B.getInsertPt();
  950     MachineBasicBlock &OldMBB = B.getMBB();
 1034   MachineBasicBlock *BB = I.getParent();
 1093   MachineBasicBlock *BB = I.getParent();
 1220   MachineBasicBlock &MBB = *I.getParent();
 1369   MachineBasicBlock *MBB = I.getParent();
 1399   MachineBasicBlock *BB = I.getParent();
 1539   MachineBasicBlock *BB = I.getParent();
 1557   MachineBasicBlock *BB = I.getParent();
 1616   MachineBasicBlock *BB = I.getParent();
 1921   MachineBasicBlock *MBB = MI->getParent();
 2003   MachineBasicBlock *MBB = MI->getParent();
 2111   MachineBasicBlock *MBB = MI->getParent();
lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
 1820     MachineBasicBlock &OrigInsBB = B.getMBB();
 1823     MachineBasicBlock &EntryMBB = B.getMF().front();
lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
   46   const MCExpr *getLongBranchBlockExpr(const MachineBasicBlock &SrcBB,
  101   const MachineBasicBlock &SrcBB,
  272     const MachineBasicBlock *MBB = MI->getParent();
  273     MachineBasicBlock::const_instr_iterator I = ++MI->getIterator();
  287         const MachineBasicBlock *MBB = MI->getOperand(0).getMBB();
  396     const MachineBasicBlock *MBB = MI->getParent();
  397     MachineBasicBlock::const_instr_iterator I = ++MI->getIterator();
lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
   56   using PHISourceT = std::pair<unsigned, MachineBasicBlock *>;
   72                                       MachineBasicBlock *SourceMBB);
   75                                          MachineBasicBlock *SourceMBB);
   78                                                 MachineBasicBlock *SourceMBB);
   81   bool findSourcesFromMBB(MachineBasicBlock *SourceMBB,
   87                  MachineBasicBlock *SourceMBB);
   89                     MachineBasicBlock *SourceMBB = nullptr);
   90   bool findDest(unsigned SourceReg, MachineBasicBlock *SourceMBB,
   92   bool isSource(unsigned Reg, MachineBasicBlock *SourceMBB = nullptr);
  145                                            MachineBasicBlock *SourceMBB) {
  161                                               MachineBasicBlock *SourceMBB) {
  188                                            MachineBasicBlock *SourceMBB) {
  200 bool PHILinearize::findSourcesFromMBB(MachineBasicBlock *SourceMBB,
  235                              MachineBasicBlock *SourceMBB) {
  240                                 MachineBasicBlock *SourceMBB) {
  244 bool PHILinearize::findDest(unsigned SourceReg, MachineBasicBlock *SourceMBB,
  255 bool PHILinearize::isSource(unsigned Reg, MachineBasicBlock *SourceMBB) {
  307 static MachineBasicBlock *getPHIPred(MachineInstr &PHI, unsigned Index) {
  313                        MachineBasicBlock *NewPred) {
  334   MachineBasicBlock *Entry;
  337   MachineBasicBlock *Exit;
  339   SmallPtrSet<MachineBasicBlock *, 1> MBBs;
  344   void storeLiveOutReg(MachineBasicBlock *MBB, unsigned Reg,
  354   void storeMBBLiveOuts(MachineBasicBlock *MBB, const MachineRegisterInfo *MRI,
  358   void storeLiveOuts(MachineBasicBlock *MBB, const MachineRegisterInfo *MRI,
  367   LinearizedRegion(MachineBasicBlock *MBB, const MachineRegisterInfo *MRI,
  413   void setEntry(MachineBasicBlock *NewEntry);
  415   MachineBasicBlock *getEntry();
  417   void setExit(MachineBasicBlock *NewExit);
  419   MachineBasicBlock *getExit();
  421   void addMBB(MachineBasicBlock *MBB);
  425   bool contains(MachineBasicBlock *MBB);
  468   static MachineBasicBlock *
  487   MachineBasicBlock *MBB;
  490   MBBMRT(MachineBasicBlock *BB) : MBB(BB) {
  498   MachineBasicBlock *getMBB() { return MBB; }
  512   MachineBasicBlock *Succ = nullptr;
  570   MachineBasicBlock *getEntry() {
  576   MachineBasicBlock *getExit() {
  582   void setSucc(MachineBasicBlock *MBB) { Succ = MBB; }
  584   MachineBasicBlock *getSucc() { return Succ; }
  586   bool contains(MachineBasicBlock *MBB) {
  622 MachineBasicBlock *
  625   for (auto &MFI : MF) {
  626     MachineBasicBlock *ExitMBB = &MFI;
  646   MachineBasicBlock *Exit = initializeMRT(MF, RegionInfo, RegionMap);
  654     MachineBasicBlock *MBB = &(*MBBI);
  692 void LinearizedRegion::storeLiveOutReg(MachineBasicBlock *MBB, unsigned Reg,
  716           for (MachineBasicBlock::instr_iterator
  750 void LinearizedRegion::storeLiveOuts(MachineBasicBlock *MBB,
  769   for (MachineBasicBlock::succ_iterator SI = MBB->succ_begin(),
  793 void LinearizedRegion::storeMBBLiveOuts(MachineBasicBlock *MBB,
  817   MachineBasicBlock *Exit = Region->getSucc();
  985 void LinearizedRegion::setEntry(MachineBasicBlock *NewEntry) {
  989 MachineBasicBlock *LinearizedRegion::getEntry() { return Entry; }
  991 void LinearizedRegion::setExit(MachineBasicBlock *NewExit) { Exit = NewExit; }
  993 MachineBasicBlock *LinearizedRegion::getExit() { return Exit; }
  995 void LinearizedRegion::addMBB(MachineBasicBlock *MBB) { MBBs.insert(MBB); }
 1003 bool LinearizedRegion::contains(MachineBasicBlock *MBB) {
 1022     MachineBasicBlock *MBB = MBBI;
 1068 LinearizedRegion::LinearizedRegion(MachineBasicBlock *MBB,
 1095   DenseMap<MachineBasicBlock *, MachineBasicBlock *> FallthroughMap;
 1095   DenseMap<MachineBasicBlock *, MachineBasicBlock *> FallthroughMap;
 1112   void extractKilledPHIs(MachineBasicBlock *MBB);
 1118                  MachineBasicBlock *SourceMBB,
 1122                   MachineBasicBlock *LastMerge,
 1125                        MachineBasicBlock *IfMBB,
 1131   void rewriteRegionExitPHI(RegionMRT *Region, MachineBasicBlock *LastMerge,
 1134   void rewriteRegionExitPHIs(RegionMRT *Region, MachineBasicBlock *LastMerge,
 1136   void rewriteRegionEntryPHI(LinearizedRegion *Region, MachineBasicBlock *IfMBB,
 1139                               MachineBasicBlock *IfMBB);
 1145   void eliminateDeadBranchOperands(MachineBasicBlock::instr_iterator &II);
 1147   void insertUnconditionalBranch(MachineBasicBlock *MBB,
 1148                                  MachineBasicBlock *Dest,
 1151   MachineBasicBlock *createLinearizedExitBlock(RegionMRT *Region);
 1153   void insertMergePHI(MachineBasicBlock *IfBB, MachineBasicBlock *CodeBB,
 1153   void insertMergePHI(MachineBasicBlock *IfBB, MachineBasicBlock *CodeBB,
 1154                       MachineBasicBlock *MergeBB, unsigned DestRegister,
 1158   MachineBasicBlock *createIfBlock(MachineBasicBlock *MergeBB,
 1158   MachineBasicBlock *createIfBlock(MachineBasicBlock *MergeBB,
 1159                                    MachineBasicBlock *CodeBBStart,
 1160                                    MachineBasicBlock *CodeBBEnd,
 1161                                    MachineBasicBlock *SelectBB, unsigned IfReg,
 1164   void prunePHIInfo(MachineBasicBlock *MBB);
 1168   void resolvePHIInfos(MachineBasicBlock *FunctionEntry);
 1172   MachineBasicBlock *createIfRegion(MachineBasicBlock *MergeBB,
 1172   MachineBasicBlock *createIfRegion(MachineBasicBlock *MergeBB,
 1173                                     MachineBasicBlock *CodeBB,
 1178   MachineBasicBlock *
 1179   createIfRegion(MachineBasicBlock *MergeMBB, LinearizedRegion *InnerRegion,
 1180                  LinearizedRegion *CurrentRegion, MachineBasicBlock *SelectBB,
 1184   void rewriteCodeBBTerminator(MachineBasicBlock *CodeBB,
 1185                                MachineBasicBlock *MergeBB,
 1189   void insertChainedPHI(MachineBasicBlock *IfBB, MachineBasicBlock *CodeBB,
 1189   void insertChainedPHI(MachineBasicBlock *IfBB, MachineBasicBlock *CodeBB,
 1190                         MachineBasicBlock *MergeBB,
 1193   bool containsDef(MachineBasicBlock *MBB, LinearizedRegion *InnerRegion,
 1195   void rewriteLiveOutRegs(MachineBasicBlock *IfBB, MachineBasicBlock *CodeBB,
 1195   void rewriteLiveOutRegs(MachineBasicBlock *IfBB, MachineBasicBlock *CodeBB,
 1196                           MachineBasicBlock *MergeBB,
 1200   void splitLoopPHI(MachineInstr &PHI, MachineBasicBlock *Entry,
 1201                     MachineBasicBlock *EntrySucc, LinearizedRegion *LRegion);
 1202   void splitLoopPHIs(MachineBasicBlock *Entry, MachineBasicBlock *EntrySucc,
 1202   void splitLoopPHIs(MachineBasicBlock *Entry, MachineBasicBlock *EntrySucc,
 1205   MachineBasicBlock *splitExit(LinearizedRegion *LRegion);
 1207   MachineBasicBlock *splitEntry(LinearizedRegion *LRegion);
 1249   MachineBasicBlock *Entry = Region->getEntry();
 1250   MachineBasicBlock *Succ = Region->getSucc();
 1258   for (MachineBasicBlock::const_succ_iterator SI = Entry->succ_begin(),
 1261     MachineBasicBlock *Current = *SI;
 1275   MachineBasicBlock *Entry = Region->getEntry();
 1276   MachineBasicBlock *Exit = Region->getExit();
 1280 static void fixMBBTerminator(MachineBasicBlock *MBB) {
 1282     auto *Succ = *(MBB->succ_begin());
 1294   MachineBasicBlock *InternalSucc = nullptr;
 1295   MachineBasicBlock *ExternalSucc = nullptr;
 1299   SmallPtrSet<MachineBasicBlock *, 2> Successors;
 1300   for (MachineBasicBlock::const_succ_iterator SI = Exit->succ_begin(),
 1303     MachineBasicBlock *Succ = *SI;
 1358     MachineBasicBlock *Pred = getPHIPred(PHI, i);
 1370     MachineBasicBlock *Pred = getPHIPred(PHI, i);
 1382     MachineBasicBlock *Pred = getPHIPred(PHI, i);
 1414 void AMDGPUMachineCFGStructurizer::extractKilledPHIs(MachineBasicBlock *MBB) {
 1418   for (MachineBasicBlock::instr_iterator I = MBB->instr_begin(),
 1454                                        MachineBasicBlock *SourceMBB,
 1483     MachineBasicBlock *MBB = PHI.getParent();
 1499       MachineBasicBlock *SourcePred = getPHIPred(PHI, i);
 1512     MachineInstr &PHI, unsigned CombinedSourceReg, MachineBasicBlock *LastMerge,
 1528     MachineBasicBlock *MBB = PHI.getParent();
 1541       MachineBasicBlock *SourcePred = getPHIPred(PHI, i);
 1555     MachineInstr &PHI, unsigned CombinedSourceReg, MachineBasicBlock *IfMBB,
 1577     MachineBasicBlock *MBB = PHI.getParent();
 1591       MachineBasicBlock *SourcePred = getPHIPred(PHI, i);
 1612       MachineBasicBlock *DefMBB = getDefInstr(Reg)->getParent();
 1634                                                   MachineBasicBlock *LastMerge,
 1647                                                    MachineBasicBlock *IfMBB,
 1656 static void collectPHIs(MachineBasicBlock *MBB,
 1666                                                    MachineBasicBlock *LastMerge,
 1681                                                     MachineBasicBlock *IfMBB) {
 1692 void AMDGPUMachineCFGStructurizer::insertUnconditionalBranch(MachineBasicBlock *MBB,
 1693                                                        MachineBasicBlock *Dest,
 1697   MachineBasicBlock::instr_iterator Terminator = MBB->getFirstInstrTerminator();
 1707 static MachineBasicBlock *getSingleExitNode(MachineFunction &MF) {
 1708   MachineBasicBlock *result = nullptr;
 1709   for (auto &MFI : MF) {
 1726 MachineBasicBlock *
 1736   MachineBasicBlock *LastMerge = MF->CreateMachineBasicBlock();
 1751 void AMDGPUMachineCFGStructurizer::insertMergePHI(MachineBasicBlock *IfBB,
 1752                                             MachineBasicBlock *CodeBB,
 1753                                             MachineBasicBlock *MergeBB,
 1781 static void removeExternalCFGSuccessors(MachineBasicBlock *MBB) {
 1782   for (MachineBasicBlock::succ_iterator PI = MBB->succ_begin(),
 1791 static void removeExternalCFGEdges(MachineBasicBlock *StartMBB,
 1792                                    MachineBasicBlock *EndMBB) {
 1797   DenseSet<std::pair<MachineBasicBlock *, MachineBasicBlock *>> Succs;
 1797   DenseSet<std::pair<MachineBasicBlock *, MachineBasicBlock *>> Succs;
 1800     MachineBasicBlock *StartMBBSucc = *(StartMBB->succ_begin());
 1801     for (MachineBasicBlock::succ_iterator PI = EndMBB->succ_begin(),
 1814   for (MachineBasicBlock::pred_iterator PI = StartMBB->pred_begin(),
 1824     std::pair<MachineBasicBlock *, MachineBasicBlock *> Edge = SI;
 1824     std::pair<MachineBasicBlock *, MachineBasicBlock *> Edge = SI;
 1831 MachineBasicBlock *AMDGPUMachineCFGStructurizer::createIfBlock(
 1832     MachineBasicBlock *MergeBB, MachineBasicBlock *CodeBBStart,
 1832     MachineBasicBlock *MergeBB, MachineBasicBlock *CodeBBStart,
 1833     MachineBasicBlock *CodeBBEnd, MachineBasicBlock *SelectBB, unsigned IfReg,
 1833     MachineBasicBlock *CodeBBEnd, MachineBasicBlock *SelectBB, unsigned IfReg,
 1836   MachineBasicBlock *IfBB = MF->CreateMachineBasicBlock();
 1839     for (MachineBasicBlock::pred_iterator PI = CodeBBStart->pred_begin(),
 1843         MachineBasicBlock *Pred = (*PI);
 1868   MachineBasicBlock *SinglePred =
 1901 void AMDGPUMachineCFGStructurizer::rewriteCodeBBTerminator(MachineBasicBlock *CodeBB,
 1902                                                      MachineBasicBlock *MergeBB,
 1904   MachineBasicBlock *TrueBB = nullptr;
 1905   MachineBasicBlock *FalseBB = nullptr;
 1907   MachineBasicBlock *FallthroughBB = FallthroughMap[CodeBB];
 1968 void AMDGPUMachineCFGStructurizer::insertChainedPHI(MachineBasicBlock *IfBB,
 1969                                               MachineBasicBlock *CodeBB,
 1970                                               MachineBasicBlock *MergeBB,
 2019 bool AMDGPUMachineCFGStructurizer::containsDef(MachineBasicBlock *MBB,
 2026 void AMDGPUMachineCFGStructurizer::rewriteLiveOutRegs(MachineBasicBlock *IfBB,
 2027                                                 MachineBasicBlock *CodeBB,
 2028                                                 MachineBasicBlock *MergeBB,
 2093 void AMDGPUMachineCFGStructurizer::prunePHIInfo(MachineBasicBlock *MBB) {
 2096   SmallVector<std::tuple<unsigned, unsigned, MachineBasicBlock *>, 4>
 2120         MachineBasicBlock *SourceMBB = Source.second;
 2141   MachineBasicBlock *Entry = CurrentRegion->getEntry();
 2142   MachineBasicBlock *Exit = CurrentRegion->getExit();
 2174           MachineBasicBlock *PHIDefMBB = PHIDefInstr->getParent();
 2259 void AMDGPUMachineCFGStructurizer::resolvePHIInfos(MachineBasicBlock *FunctionEntry) {
 2277 static bool isFunctionEntryBlock(MachineBasicBlock *MBB) {
 2281 MachineBasicBlock *AMDGPUMachineCFGStructurizer::createIfRegion(
 2282     MachineBasicBlock *MergeBB, MachineBasicBlock *CodeBB,
 2282     MachineBasicBlock *MergeBB, MachineBasicBlock *CodeBB,
 2317     MachineBasicBlock *IfBB = createIfBlock(MergeBB, CodeBB, CodeBB, CodeBB,
 2326         MachineBasicBlock *RegionExit = CurrentRegion->getExit();
 2327         MachineBasicBlock *ETrueBB = nullptr;
 2328         MachineBasicBlock *EFalseBB = nullptr;
 2370 MachineBasicBlock *AMDGPUMachineCFGStructurizer::createIfRegion(
 2371     MachineBasicBlock *MergeBB, LinearizedRegion *InnerRegion,
 2372     LinearizedRegion *CurrentRegion, MachineBasicBlock *SelectBB,
 2376   MachineBasicBlock *CodeEntryBB = InnerRegion->getEntry();
 2377   MachineBasicBlock *CodeExitBB = InnerRegion->getExit();
 2378   MachineBasicBlock *IfBB = createIfBlock(MergeBB, CodeEntryBB, CodeExitBB,
 2385       MachineBasicBlock *RegionExit = CurrentRegion->getExit();
 2386       MachineBasicBlock *ETrueBB = nullptr;
 2387       MachineBasicBlock *EFalseBB = nullptr;
 2431                                           MachineBasicBlock *Entry,
 2432                                           MachineBasicBlock *EntrySucc,
 2441   MachineBasicBlock *RegionSourceMBB = getPHIPred(PHI, RegionIndex);
 2468 void AMDGPUMachineCFGStructurizer::splitLoopPHIs(MachineBasicBlock *Entry,
 2469                                            MachineBasicBlock *EntrySucc,
 2480 MachineBasicBlock *
 2521 static MachineBasicBlock *split(MachineBasicBlock::iterator I) {
 2521 static MachineBasicBlock *split(MachineBasicBlock::iterator I) {
 2523   MachineBasicBlock *MBB = (*I).getParent();
 2525   MachineBasicBlock *SuccMBB = MF->CreateMachineBasicBlock();
 2541 MachineBasicBlock *
 2543   MachineBasicBlock *Entry = LRegion->getEntry();
 2544   MachineBasicBlock *EntrySucc = split(Entry->getFirstNonPHI());
 2545   MachineBasicBlock *Exit = LRegion->getExit();
 2578   MachineBasicBlock *Exit = Region->getSucc();
 2582   for (MachineBasicBlock::pred_iterator PI = Exit->pred_begin(),
 2591 static bool mbbHasBackEdge(MachineBasicBlock *MBB,
 2592                            SmallPtrSet<MachineBasicBlock *, 8> &MBBs) {
 2602                                 SmallPtrSet<MachineBasicBlock *, 8> &MBBs) {
 2608     MachineBasicBlock *MBB = Tree->getMBBMRT()->getMBB();
 2625   SmallPtrSet<MachineBasicBlock *, 8> MBBs;
 2632   MachineBasicBlock *LastMerge = createLinearizedExitBlock(Region);
 2633   MachineBasicBlock *CurrentMerge = LastMerge;
 2672       MachineBasicBlock *InnerEntry = InnerLRegion->getEntry();
 2693       MachineBasicBlock *IfEnd = CurrentMerge;
 2699       MachineBasicBlock *MBB = Child->getMBBMRT()->getMBB();
 2717       MachineBasicBlock *IfEnd = CurrentMerge;
 2733     MachineBasicBlock *NewSucc = splitEntry(LRegion);
 2804   for (auto &MBBI : MF) {
 2805     MachineBasicBlock *MBB = MBBI.getFallThrough();
 2858   for (auto &MBBI : MF) {
 2859     for (MachineBasicBlock::instr_iterator I = MBBI.instr_begin(),
lib/Target/AMDGPU/AMDGPUMacroFusion.cpp
   44     const MachineBasicBlock &MBB = *FirstMI->getParent();
lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
  663   iterator_range<MachineBasicBlock::iterator> Range,
  670   MachineBasicBlock &MBB = B.getMBB();
  711   MachineBasicBlock *LoopBB = MF->CreateMachineBasicBlock();
  712   MachineBasicBlock *RemainderBB = MF->CreateMachineBasicBlock();
  713   MachineBasicBlock *RestoreExecBB = MF->CreateMachineBasicBlock();
  759   MachineBasicBlock::iterator I = Range.begin();
  986   MachineBasicBlock::iterator I = MI.getIterator();
lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
   55     iterator_range<MachineBasicBlock::iterator> Range,
lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
  118   using MBBVector = SmallVector<MachineBasicBlock *, 32>;
  119   using MBBInfoMap = std::map<MachineBasicBlock *, BlockInformation *>;
  120   using LoopLandInfoMap = std::map<MachineLoop *, MachineBasicBlock *>;
  203   int getSCCNum(MachineBasicBlock *MBB) const;
  204   MachineBasicBlock *getLoopLandInfo(MachineLoop *LoopRep) const;
  205   bool hasBackEdge(MachineBasicBlock *MBB) const;
  206   bool isRetiredBlock(MachineBasicBlock *MBB) const;
  207   bool isActiveLoophead(MachineBasicBlock *MBB) const;
  208   PathToKind singlePathTo(MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB,
  208   PathToKind singlePathTo(MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB,
  212   bool needMigrateBlock(MachineBasicBlock *MBB) const;
  215   void reversePredicateSetter(MachineBasicBlock::iterator I,
  221   void insertInstrEnd(MachineBasicBlock *MBB, int NewOpcode,
  223   MachineInstr *insertInstrBefore(MachineBasicBlock *MBB, int NewOpcode,
  225   MachineInstr *insertInstrBefore(MachineBasicBlock::iterator I, int NewOpcode);
  226   void insertCondBranchBefore(MachineBasicBlock::iterator I, int NewOpcode,
  228   void insertCondBranchBefore(MachineBasicBlock *MBB,
  229                               MachineBasicBlock::iterator I, int NewOpcode,
  236   static MachineBasicBlock *getTrueBranch(MachineInstr *MI);
  237   static void setTrueBranch(MachineInstr *MI, MachineBasicBlock *MBB);
  238   static MachineBasicBlock *getFalseBranch(MachineBasicBlock *MBB,
  238   static MachineBasicBlock *getFalseBranch(MachineBasicBlock *MBB,
  242   static DebugLoc getLastDebugLocInBB(MachineBasicBlock *MBB);
  243   static MachineInstr *getNormalBlockBranchInstr(MachineBasicBlock *MBB);
  249   MachineInstr *getLoopendBlockBranchInstr(MachineBasicBlock *MBB);
  251   static MachineInstr *getReturnInstr(MachineBasicBlock *MBB);
  252   static bool isReturnBlock(MachineBasicBlock *MBB);
  253   static void cloneSuccessorList(MachineBasicBlock *DstMBB,
  254       MachineBasicBlock *SrcMBB);
  255   static MachineBasicBlock *clone(MachineBasicBlock *MBB);
  255   static MachineBasicBlock *clone(MachineBasicBlock *MBB);
  260   void replaceInstrUseOfBlockWith(MachineBasicBlock *SrcMBB,
  261       MachineBasicBlock *OldMBB, MachineBasicBlock *NewBlk);
  261       MachineBasicBlock *OldMBB, MachineBasicBlock *NewBlk);
  263   static void wrapup(MachineBasicBlock *MBB);
  265   int patternMatch(MachineBasicBlock *MBB);
  266   int patternMatchGroup(MachineBasicBlock *MBB);
  267   int serialPatternMatch(MachineBasicBlock *MBB);
  268   int ifPatternMatch(MachineBasicBlock *MBB);
  275   bool isSameloopDetachedContbreak(MachineBasicBlock *Src1MBB,
  276       MachineBasicBlock *Src2MBB);
  277   int handleJumpintoIf(MachineBasicBlock *HeadMBB,
  278       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB);
  278       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB);
  279   int handleJumpintoIfImp(MachineBasicBlock *HeadMBB,
  280       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB);
  280       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB);
  281   int improveSimpleJumpintoIf(MachineBasicBlock *HeadMBB,
  282       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
  282       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
  283       MachineBasicBlock **LandMBBPtr);
  284   void showImproveSimpleJumpintoIf(MachineBasicBlock *HeadMBB,
  285       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
  285       MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
  286       MachineBasicBlock *LandMBB, bool Detail = false);
  287   int cloneOnSideEntryTo(MachineBasicBlock *PreMBB,
  288       MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB);
  288       MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB);
  289   void mergeSerialBlock(MachineBasicBlock *DstMBB,
  290       MachineBasicBlock *SrcMBB);
  293       MachineBasicBlock *MBB, MachineBasicBlock *TrueMBB,
  293       MachineBasicBlock *MBB, MachineBasicBlock *TrueMBB,
  294       MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB);
  294       MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB);
  295   void mergeLooplandBlock(MachineBasicBlock *DstMBB,
  296       MachineBasicBlock *LandMBB);
  297   void mergeLoopbreakBlock(MachineBasicBlock *ExitingMBB,
  298       MachineBasicBlock *LandMBB);
  299   void settleLoopcontBlock(MachineBasicBlock *ContingMBB,
  300       MachineBasicBlock *ContMBB);
  310   MachineBasicBlock *normalizeInfiniteLoopExit(MachineLoop *LoopRep);
  311   void removeUnconditionalBranch(MachineBasicBlock *MBB);
  321   void removeRedundantConditionalBranch(MachineBasicBlock *MBB);
  323   void addDummyExitBlock(SmallVectorImpl<MachineBasicBlock *> &RetMBB);
  324   void removeSuccessor(MachineBasicBlock *MBB);
  325   MachineBasicBlock *cloneBlockForPredecessor(MachineBasicBlock *MBB,
  325   MachineBasicBlock *cloneBlockForPredecessor(MachineBasicBlock *MBB,
  326       MachineBasicBlock *PredMBB);
  327   void migrateInstruction(MachineBasicBlock *SrcMBB,
  328       MachineBasicBlock *DstMBB, MachineBasicBlock::iterator I);
  328       MachineBasicBlock *DstMBB, MachineBasicBlock::iterator I);
  329   void recordSccnum(MachineBasicBlock *MBB, int SCCNum);
  330   void retireBlock(MachineBasicBlock *MBB);
  337   SmallVector<MachineBasicBlock *, DEFAULT_VEC_SLOTS> OrderedBlks;
  344 int AMDGPUCFGStructurizer::getSCCNum(MachineBasicBlock *MBB) const {
  351 MachineBasicBlock *AMDGPUCFGStructurizer::getLoopLandInfo(MachineLoop *LoopRep)
  359 bool AMDGPUCFGStructurizer::hasBackEdge(MachineBasicBlock *MBB) const {
  363   MachineBasicBlock *LoopHeader = LoopRep->getHeader();
  367 bool AMDGPUCFGStructurizer::isRetiredBlock(MachineBasicBlock *MBB) const {
  374 bool AMDGPUCFGStructurizer::isActiveLoophead(MachineBasicBlock *MBB) const {
  377     MachineBasicBlock *LoopLand = getLoopLandInfo(LoopRep);
  388     MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB,
  388     MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB,
  416 bool AMDGPUCFGStructurizer::needMigrateBlock(MachineBasicBlock *MBB) const {
  429     MachineBasicBlock::iterator I, MachineBasicBlock &MBB) {
  455 void AMDGPUCFGStructurizer::insertInstrEnd(MachineBasicBlock *MBB,
  464 MachineInstr *AMDGPUCFGStructurizer::insertInstrBefore(MachineBasicBlock *MBB,
  478     MachineBasicBlock::iterator I, int NewOpcode) {
  480   MachineBasicBlock *MBB = OldMI->getParent();
  490     MachineBasicBlock::iterator I, int NewOpcode, const DebugLoc &DL) {
  492   MachineBasicBlock *MBB = OldMI->getParent();
  503     MachineBasicBlock *blk, MachineBasicBlock::iterator I, int NewOpcode,
  503     MachineBasicBlock *blk, MachineBasicBlock::iterator I, int NewOpcode,
  553 MachineBasicBlock *AMDGPUCFGStructurizer::getTrueBranch(MachineInstr *MI) {
  558     MachineBasicBlock *MBB) {
  562 MachineBasicBlock *
  563 AMDGPUCFGStructurizer::getFalseBranch(MachineBasicBlock *MBB,
  566   MachineBasicBlock *TrueBranch = getTrueBranch(MI);
  567   MachineBasicBlock::succ_iterator It = MBB->succ_begin();
  568   MachineBasicBlock::succ_iterator Next = It;
  595 DebugLoc AMDGPUCFGStructurizer::getLastDebugLocInBB(MachineBasicBlock *MBB) {
  598   for (MachineBasicBlock::iterator It = MBB->begin(); It != MBB->end();
  608     MachineBasicBlock *MBB) {
  609   MachineBasicBlock::reverse_iterator It = MBB->rbegin();
  617     MachineBasicBlock *MBB) {
  618   for (MachineBasicBlock::reverse_iterator It = MBB->rbegin(), E = MBB->rend();
  632 MachineInstr *AMDGPUCFGStructurizer::getReturnInstr(MachineBasicBlock *MBB) {
  633   MachineBasicBlock::reverse_iterator It = MBB->rbegin();
  642 bool AMDGPUCFGStructurizer::isReturnBlock(MachineBasicBlock *MBB) {
  653 void AMDGPUCFGStructurizer::cloneSuccessorList(MachineBasicBlock *DstMBB,
  654     MachineBasicBlock *SrcMBB) {
  655   for (MachineBasicBlock::succ_iterator It = SrcMBB->succ_begin(),
  660 MachineBasicBlock *AMDGPUCFGStructurizer::clone(MachineBasicBlock *MBB) {
  660 MachineBasicBlock *AMDGPUCFGStructurizer::clone(MachineBasicBlock *MBB) {
  662   MachineBasicBlock *NewMBB = Func->CreateMachineBasicBlock();
  670     MachineBasicBlock *SrcMBB, MachineBasicBlock *OldMBB,
  670     MachineBasicBlock *SrcMBB, MachineBasicBlock *OldMBB,
  671     MachineBasicBlock *NewBlk) {
  678 void AMDGPUCFGStructurizer::wrapup(MachineBasicBlock *MBB) {
  685    MachineBasicBlock::iterator Pre = MBB->begin();
  686    MachineBasicBlock::iterator E = MBB->end();
  687    MachineBasicBlock::iterator It = Pre;
  715   SmallVector<MachineBasicBlock *, DEFAULT_VEC_SLOTS> RetBlks;
  725       MachineBasicBlock* DummyExitBlk = normalizeInfiniteLoopExit(LoopRep);
  733   for (SmallVectorImpl<MachineBasicBlock *>::const_iterator
  735     MachineBasicBlock *MBB = *It;
  764   MachineBasicBlock *MBB;
  774     SmallVectorImpl<MachineBasicBlock *>::const_iterator It =
  776     SmallVectorImpl<MachineBasicBlock *>::const_iterator E =
  779     SmallVectorImpl<MachineBasicBlock *>::const_iterator SccBeginIter =
  781     MachineBasicBlock *SccBeginMBB = nullptr;
  833     MachineBasicBlock *EntryMBB =
  878   MachineBasicBlock *MBB;
  881     const std::vector<MachineBasicBlock *> &SccNext = *It;
  882     for (std::vector<MachineBasicBlock *>::const_iterator
  892   for (auto *MBB : nodes(MF)) {
  899 int AMDGPUCFGStructurizer::patternMatch(MachineBasicBlock *MBB) {
  914 int AMDGPUCFGStructurizer::patternMatchGroup(MachineBasicBlock *MBB) {
  922 int AMDGPUCFGStructurizer::serialPatternMatch(MachineBasicBlock *MBB) {
  926   MachineBasicBlock *childBlk = *MBB->succ_begin();
  935 int AMDGPUCFGStructurizer::ifPatternMatch(MachineBasicBlock *MBB) {
  948   MachineBasicBlock *TrueMBB = getTrueBranch(BranchMI);
  951   MachineBasicBlock *FalseMBB = getFalseBranch(MBB, BranchMI);
  954   MachineBasicBlock *LandBlk;
 1039   MachineBasicBlock *LoopHeader = LoopRep->getHeader();
 1048   SmallPtrSet<MachineBasicBlock *, 2> ExitBlkSet;
 1052   MachineBasicBlock *ExitBlk = *ExitBlks.begin();
 1055   for (auto *LB : inverse_children<MachineBasicBlock*>(LoopHeader))
 1055   for (auto *LB : inverse_children<MachineBasicBlock*>(LoopHeader))
 1080     MachineBasicBlock *Src1MBB, MachineBasicBlock *Src2MBB) {
 1080     MachineBasicBlock *Src1MBB, MachineBasicBlock *Src2MBB) {
 1084       MachineBasicBlock *&TheEntry = LLInfoMap[LoopRep];
 1096 int AMDGPUCFGStructurizer::handleJumpintoIf(MachineBasicBlock *HeadMBB,
 1097     MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB) {
 1097     MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB) {
 1107 int AMDGPUCFGStructurizer::handleJumpintoIfImp(MachineBasicBlock *HeadMBB,
 1108     MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB) {
 1108     MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB) {
 1110   MachineBasicBlock *DownBlk;
 1146     MachineBasicBlock *HeadMBB, MachineBasicBlock *TrueMBB,
 1146     MachineBasicBlock *HeadMBB, MachineBasicBlock *TrueMBB,
 1147     MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB, bool Detail) {
 1147     MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB, bool Detail) {
 1188 int AMDGPUCFGStructurizer::improveSimpleJumpintoIf(MachineBasicBlock *HeadMBB,
 1189     MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
 1189     MachineBasicBlock *TrueMBB, MachineBasicBlock *FalseMBB,
 1190     MachineBasicBlock **LandMBBPtr) {
 1194   MachineBasicBlock *LandBlk = *LandMBBPtr;
 1306   MachineBasicBlock::iterator I = insertInstrBefore(LandBlk, R600::ENDIF);
 1346     for (MachineBasicBlock::pred_iterator PI = LandBlk->pred_begin(),
 1348       MachineBasicBlock *MBB = *PI;
 1363 void AMDGPUCFGStructurizer::mergeSerialBlock(MachineBasicBlock *DstMBB,
 1364     MachineBasicBlock *SrcMBB) {
 1378     MachineBasicBlock *MBB, MachineBasicBlock *TrueMBB,
 1378     MachineBasicBlock *MBB, MachineBasicBlock *TrueMBB,
 1379     MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB) {
 1379     MachineBasicBlock *FalseMBB, MachineBasicBlock *LandMBB) {
 1402   MachineBasicBlock::iterator I = BranchMI;
 1433 void AMDGPUCFGStructurizer::mergeLooplandBlock(MachineBasicBlock *DstBlk,
 1434     MachineBasicBlock *LandMBB) {
 1443 void AMDGPUCFGStructurizer::mergeLoopbreakBlock(MachineBasicBlock *ExitingMBB,
 1444     MachineBasicBlock *LandMBB) {
 1451   MachineBasicBlock *TrueBranch = getTrueBranch(BranchMI);
 1452   MachineBasicBlock::iterator I = BranchMI;
 1464 void AMDGPUCFGStructurizer::settleLoopcontBlock(MachineBasicBlock *ContingMBB,
 1465     MachineBasicBlock *ContMBB) {
 1473     MachineBasicBlock::iterator I = MI;
 1474     MachineBasicBlock *TrueBranch = getTrueBranch(MI);
 1507 int AMDGPUCFGStructurizer::cloneOnSideEntryTo(MachineBasicBlock *PreMBB,
 1508     MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB) {
 1508     MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB) {
 1525 MachineBasicBlock *
 1526 AMDGPUCFGStructurizer::cloneBlockForPredecessor(MachineBasicBlock *MBB,
 1527     MachineBasicBlock *PredMBB) {
 1531   MachineBasicBlock *CloneMBB = clone(MBB);  //clone instructions
 1551 void AMDGPUCFGStructurizer::migrateInstruction(MachineBasicBlock *SrcMBB,
 1552     MachineBasicBlock *DstMBB, MachineBasicBlock::iterator I) {
 1552     MachineBasicBlock *DstMBB, MachineBasicBlock::iterator I) {
 1553   MachineBasicBlock::iterator SpliceEnd;
 1575 MachineBasicBlock *
 1577   MachineBasicBlock *LoopHeader = LoopRep->getHeader();
 1578   MachineBasicBlock *LoopLatch = LoopRep->getLoopLatch();
 1587   MachineBasicBlock *DummyExitBlk = FuncRep->CreateMachineBasicBlock();
 1596 void AMDGPUCFGStructurizer::removeUnconditionalBranch(MachineBasicBlock *MBB) {
 1609     MachineBasicBlock *MBB) {
 1612   MachineBasicBlock *MBB1 = *MBB->succ_begin();
 1613   MachineBasicBlock *MBB2 = *std::next(MBB->succ_begin());
 1626     SmallVectorImpl<MachineBasicBlock*> &RetMBB) {
 1627   MachineBasicBlock *DummyExitBlk = FuncRep->CreateMachineBasicBlock();
 1631   for (SmallVectorImpl<MachineBasicBlock *>::iterator It = RetMBB.begin(),
 1633     MachineBasicBlock *MBB = *It;
 1644 void AMDGPUCFGStructurizer::removeSuccessor(MachineBasicBlock *MBB) {
 1649 void AMDGPUCFGStructurizer::recordSccnum(MachineBasicBlock *MBB,
 1657 void AMDGPUCFGStructurizer::retireBlock(MachineBasicBlock *MBB) {
lib/Target/AMDGPU/GCNDPPCombine.cpp
  515       auto *BB = OrigMI.getParent();
  565   for (auto &MBB : MF) {
lib/Target/AMDGPU/GCNHazardRecognizer.cpp
  206   MachineBasicBlock::instr_iterator MI = std::next(CurrCycleInstr->getIterator());
  207   MachineBasicBlock::instr_iterator E = CurrCycleInstr->getParent()->instr_end();
  362                               MachineBasicBlock *MBB,
  363                               MachineBasicBlock::reverse_instr_iterator I,
  366                               DenseSet<const MachineBasicBlock *> &Visited) {
  386   for (MachineBasicBlock *Pred : MBB->predecessors()) {
  412   DenseSet<const MachineBasicBlock *> Visited;
lib/Target/AMDGPU/GCNIterativeScheduler.cpp
   61                         MachineBasicBlock::iterator Begin,
   92                               MachineBasicBlock::iterator Begin,
  248 GCNIterativeScheduler::getRegionPressure(MachineBasicBlock::iterator Begin,
  299 void GCNIterativeScheduler::enterRegion(MachineBasicBlock *BB, // overriden
  300                                         MachineBasicBlock::iterator Begin,
lib/Target/AMDGPU/GCNIterativeScheduler.h
   43   void enterRegion(MachineBasicBlock *BB,
   44                    MachineBasicBlock::iterator Begin,
   61     MachineBasicBlock::iterator Begin;
   63     const MachineBasicBlock::iterator End;
   85   GCNRegPressure getRegionPressure(MachineBasicBlock::iterator Begin,
lib/Target/AMDGPU/GCNNSAReassign.cpp
  241   for (const MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/GCNRegBankReassign.cpp
  406   MachineBasicBlock::const_instr_iterator Def(MI.getIterator());
  407   MachineBasicBlock::const_instr_iterator B(MI.getParent()->instr_begin());
  686   for (MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/GCNRegPressure.cpp
  429 bool GCNDownwardRPTracker::advance(MachineBasicBlock::const_iterator End) {
  435 bool GCNDownwardRPTracker::advance(MachineBasicBlock::const_iterator Begin,
lib/Target/AMDGPU/GCNRegPressure.h
  154   MachineBasicBlock::const_iterator NextMI;
  156   MachineBasicBlock::const_iterator MBBEnd;
  161   const MachineBasicBlock::const_iterator getNext() const { return NextMI; }
  179   bool advance(MachineBasicBlock::const_iterator End);
  182   bool advance(MachineBasicBlock::const_iterator Begin,
lib/Target/AMDGPU/GCNSchedStrategy.cpp
  440 void GCNScheduleDAGMILive::computeBlockPressure(const MachineBasicBlock *MBB) {
  446   const MachineBasicBlock *OnlySucc = nullptr;
  509   auto *BB = I->first->getParent();
  533     MachineBasicBlock *MBB = nullptr;
lib/Target/AMDGPU/GCNSchedStrategy.h
   84   SmallVector<std::pair<MachineBasicBlock::iterator,
   94   DenseMap<const MachineBasicBlock*, GCNRPTracker::LiveRegSet> MBBLiveIns;
  103   void computeBlockPressure(const MachineBasicBlock *MBB);
lib/Target/AMDGPU/R600AsmPrinter.cpp
   51   for (const MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/R600ClauseMergePass.cpp
  101   MachineBasicBlock::iterator I = CFAlu, E = CFAlu.getParent()->end();
  191     MachineBasicBlock &MBB = *BB;
  192     MachineBasicBlock::iterator I = MBB.begin(),  E = MBB.end();
  193     MachineBasicBlock::iterator LatestCFAlu = E;
lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp
  332   MakeFetchClause(MachineBasicBlock &MBB, MachineBasicBlock::iterator &I)
  332   MakeFetchClause(MachineBasicBlock &MBB, MachineBasicBlock::iterator &I)
  334     MachineBasicBlock::iterator ClauseHead = I;
  339     for (MachineBasicBlock::iterator E = MBB.end(); I != E; ++I) {
  394   MachineBasicBlock::iterator insertLiterals(
  397     MachineBasicBlock *MBB = InsertPos->getParent();
  410   MakeALUClause(MachineBasicBlock &MBB, MachineBasicBlock::iterator &I)
  410   MakeALUClause(MachineBasicBlock &MBB, MachineBasicBlock::iterator &I)
  415     for (MachineBasicBlock::instr_iterator E = MBB.instr_end(); I != E;) {
  425         MachineBasicBlock::instr_iterator BI = I.getInstrIterator();
  468   void EmitFetchClause(MachineBasicBlock::iterator InsertPos,
  472     MachineBasicBlock *BB = Clause.first->getParent();
  480   void EmitALUClause(MachineBasicBlock::iterator InsertPos, const DebugLoc &DL,
  484     MachineBasicBlock *BB = Clause.first->getParent();
  518       MachineBasicBlock &MBB = *MB;
  531       for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
  541         MachineBasicBlock::iterator MI = I;
lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
  196                         MachineBasicBlock::iterator Def,
  210       for (MachineBasicBlock::iterator UseI = Def; UseI != BBEnd; ++UseI) {
  242   MachineBasicBlock::iterator
  244     MachineBasicBlock::iterator ClauseHead = I;
  248     for (MachineBasicBlock::iterator E = MBB.end(); I != E; ++I) {
  322       MachineBasicBlock &MBB = *BB;
  323       MachineBasicBlock::iterator I = MBB.begin();
  326       for (MachineBasicBlock::iterator E = MBB.end(); I != E;) {
lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
   90     MachineBasicBlock &MBB = *BB;
   91     MachineBasicBlock::iterator I = MBB.begin();
lib/Target/AMDGPU/R600FrameLowering.h
   24                     MachineBasicBlock &MBB) const override {}
   26                     MachineBasicBlock &MBB) const override {}
lib/Target/AMDGPU/R600ISelLowering.cpp
  283 static inline bool isEOP(MachineBasicBlock::iterator I) {
  289 MachineBasicBlock *
  291                                                 MachineBasicBlock *BB) const {
  294   MachineBasicBlock::iterator I = MI;
  431     for (MachineBasicBlock::iterator NextExportInst = std::next(I),
lib/Target/AMDGPU/R600ISelLowering.h
   32   MachineBasicBlock *
   34                               MachineBasicBlock *BB) const override;
   66   void lowerImplicitParameter(MachineInstr *MI, MachineBasicBlock &BB,
lib/Target/AMDGPU/R600InstrInfo.cpp
   61 void R600InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   62                                 MachineBasicBlock::iterator MI,
   96 bool R600InstrInfo::isLegalToSplitMBBAt(MachineBasicBlock &MBB,
   97                                        MachineBasicBlock::iterator MBBI) const {
  652 findFirstPredicateSetterFrom(MachineBasicBlock &MBB,
  653                              MachineBasicBlock::iterator I) {
  674 bool R600InstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  675                                   MachineBasicBlock *&TBB,
  676                                   MachineBasicBlock *&FBB,
  682   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  696       MachineBasicBlock::iterator PriorI = std::prev(I);
  746 MachineBasicBlock::iterator FindLastAluClause(MachineBasicBlock &MBB) {
  747   for (MachineBasicBlock::reverse_iterator It = MBB.rbegin(), E = MBB.rend();
  756 unsigned R600InstrInfo::insertBranch(MachineBasicBlock &MBB,
  757                                      MachineBasicBlock *TBB,
  758                                      MachineBasicBlock *FBB,
  778       MachineBasicBlock::iterator CfAlu = FindLastAluClause(MBB);
  794     MachineBasicBlock::iterator CfAlu = FindLastAluClause(MBB);
  803 unsigned R600InstrInfo::removeBranch(MachineBasicBlock &MBB,
  810   MachineBasicBlock::iterator I = MBB.end();
  823     MachineBasicBlock::iterator CfAlu = FindLastAluClause(MBB);
  848     MachineBasicBlock::iterator CfAlu = FindLastAluClause(MBB);
  900 R600InstrInfo::isProfitableToIfCvt(MachineBasicBlock &MBB,
  908 R600InstrInfo::isProfitableToIfCvt(MachineBasicBlock &TMBB,
  911                                    MachineBasicBlock &FMBB,
  919 R600InstrInfo::isProfitableToDupForIfCvt(MachineBasicBlock &MBB,
  927 R600InstrInfo::isProfitableToUnpredicate(MachineBasicBlock &TMBB,
  928                                          MachineBasicBlock &FMBB) const {
 1026     MachineBasicBlock *MBB = MI.getParent();
 1113 MachineInstrBuilder R600InstrInfo::buildIndirectWrite(MachineBasicBlock *MBB,
 1114                                        MachineBasicBlock::iterator I,
 1120 MachineInstrBuilder R600InstrInfo::buildIndirectWrite(MachineBasicBlock *MBB,
 1121                                        MachineBasicBlock::iterator I,
 1145 MachineInstrBuilder R600InstrInfo::buildIndirectRead(MachineBasicBlock *MBB,
 1146                                        MachineBasicBlock::iterator I,
 1152 MachineInstrBuilder R600InstrInfo::buildIndirectRead(MachineBasicBlock *MBB,
 1153                                        MachineBasicBlock::iterator I,
 1237 MachineInstrBuilder R600InstrInfo::buildDefaultInstruction(MachineBasicBlock &MBB,
 1238                                                   MachineBasicBlock::iterator I,
 1317     MachineBasicBlock &MBB, MachineInstr *MI, unsigned Slot, unsigned DstReg)
 1325   MachineBasicBlock::iterator I = MI;
 1364 MachineInstr *R600InstrInfo::buildMovImm(MachineBasicBlock &BB,
 1365                                          MachineBasicBlock::iterator I,
 1374 MachineInstr *R600InstrInfo::buildMovInstr(MachineBasicBlock *MBB,
 1375                                        MachineBasicBlock::iterator I,
lib/Target/AMDGPU/R600InstrInfo.h
   48   MachineInstrBuilder buildIndirectRead(MachineBasicBlock *MBB,
   49                                         MachineBasicBlock::iterator I,
   54   MachineInstrBuilder buildIndirectWrite(MachineBasicBlock *MBB,
   55                                          MachineBasicBlock::iterator I,
   75   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   75   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   78   bool isLegalToSplitMBBAt(MachineBasicBlock &MBB,
   79                            MachineBasicBlock::iterator MBBI) const override;
  167   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  167   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  168                      MachineBasicBlock *&FBB,
  172   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  172   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  173                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  177   unsigned removeBranch(MachineBasicBlock &MBB,
  184   bool isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  187   bool isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  191   bool isProfitableToIfCvt(MachineBasicBlock &TMBB,
  193                            MachineBasicBlock &FMBB,
  200   bool isProfitableToUnpredicate(MachineBasicBlock &TMBB,
  201                                  MachineBasicBlock &FMBB) const override;
  244   MachineInstrBuilder buildIndirectWrite(MachineBasicBlock *MBB,
  245                                          MachineBasicBlock::iterator I,
  252   MachineInstrBuilder buildIndirectRead(MachineBasicBlock *MBB,
  253                                         MachineBasicBlock::iterator I,
  266   MachineInstrBuilder buildDefaultInstruction(MachineBasicBlock &MBB,
  267                                               MachineBasicBlock::iterator I,
  273   MachineInstr *buildSlotOfVectorInstruction(MachineBasicBlock &MBB,
  278   MachineInstr *buildMovImm(MachineBasicBlock &BB,
  279                             MachineBasicBlock::iterator I,
  283   MachineInstr *buildMovInstr(MachineBasicBlock *MBB,
  284                               MachineBasicBlock::iterator I,
lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
  201   MachineBasicBlock::iterator Pos = RSI->Instr;
  202   MachineBasicBlock &MBB = *Pos->getParent();
  343     MachineBasicBlock *MB = &*MBB;
  348     for (MachineBasicBlock::iterator MII = MB->begin(), MIIE = MB->end();
lib/Target/AMDGPU/R600Packetizer.cpp
   68   DenseMap<unsigned, unsigned> getPreviousVector(MachineBasicBlock::iterator I)
   74     MachineBasicBlock::instr_iterator BI = I.getInstrIterator();
  162                                const MachineBasicBlock *MBB) override {
  291   MachineBasicBlock::iterator addToPacket(MachineInstr &MI) override {
  292     MachineBasicBlock::iterator FirstInBundle =
  312       MachineBasicBlock::iterator It = VLIWPacketizerList::addToPacket(MI);
  353     MachineBasicBlock::iterator End = MBB->end();
  354     MachineBasicBlock::iterator MI = MBB->begin();
  358         MachineBasicBlock::iterator DeleteMI = MI;
  373     for(MachineBasicBlock::iterator RegionEnd = MBB->end();
  377       MachineBasicBlock::iterator I = RegionEnd;
lib/Target/AMDGPU/R600RegisterInfo.cpp
  108 void R600RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
lib/Target/AMDGPU/R600RegisterInfo.h
   47   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
lib/Target/AMDGPU/SIAddIMGInit.cpp
   71     MachineBasicBlock &MBB = *BI;
   72     MachineBasicBlock::iterator I, Next;
lib/Target/AMDGPU/SIFixSGPRCopies.cpp
  357 bool searchPredecessors(const MachineBasicBlock *MBB,
  358                         const MachineBasicBlock *CutOff,
  363   DenseSet<const MachineBasicBlock *> Visited;
  364   SmallVector<MachineBasicBlock *, 4> Worklist(MBB->pred_begin(),
  368     MachineBasicBlock *MBB = Worklist.pop_back_val();
  388                         const MachineBasicBlock *CutOff,
  395   const MachineBasicBlock *MBBFrom = From->getParent();
  396   const MachineBasicBlock *MBBTo = To->getParent();
  408 static MachineBasicBlock::iterator
  410   MachineBasicBlock::iterator I = MBB->getFirstNonPHI();
  468             const MachineBasicBlock *MBBFrom = From->getParent();
  469             const MachineBasicBlock *MBBTo = To->getParent();
  515           auto *MBB = MDT.findNearestCommonDominator(MI1->getParent(),
  522           MachineBasicBlock::iterator I = getFirstNonPrologue(MBB, TII);
  562       MachineBasicBlock::reverse_iterator B(BoundaryMI);
  599     MachineBasicBlock &MBB = *BI;
  600     for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
lib/Target/AMDGPU/SIFixVGPRCopies.cpp
   54   for (MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/SIFixupVectorISel.cpp
  155 static bool fixupGlobalSaddr(MachineBasicBlock &MBB,
  164   MachineBasicBlock::iterator I, Next;
  229   for (MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/SIFoldOperands.cpp
  242     MachineBasicBlock *MBB = MI->getParent();
  244     if (Liveness != MachineBasicBlock::LQR_Dead) {
  691         MachineBasicBlock &MBB = *UseMI->getParent();
 1459   for (MachineBasicBlock *MBB : depth_first(&MF)) {
 1460     MachineBasicBlock::iterator I, Next;
lib/Target/AMDGPU/SIFormMemoryClauses.cpp
  325   for (MachineBasicBlock &MBB : MF) {
  326     MachineBasicBlock::instr_iterator Next;
lib/Target/AMDGPU/SIFrameLowering.cpp
   92 static void buildPrologSpill(LivePhysRegs &LiveRegs, MachineBasicBlock &MBB,
   93                              MachineBasicBlock::iterator I,
  140 static void buildEpilogReload(LivePhysRegs &LiveRegs, MachineBasicBlock &MBB,
  141                               MachineBasicBlock::iterator I,
  189                                           MachineBasicBlock &MBB) const {
  207   MachineBasicBlock::iterator I = MBB.begin();
  393                                                 MachineBasicBlock &MBB) const {
  461   for (MachineBasicBlock &OtherBB : MF) {
  473   MachineBasicBlock::iterator I = MBB.begin();
  534       MachineFunction &MF, MachineBasicBlock &MBB, SIMachineFunctionInfo *MFI,
  535       MachineBasicBlock::iterator I, unsigned PreloadedPrivateBufferReg,
  683                                    MachineBasicBlock &MBB) const {
  700   MachineBasicBlock::iterator MBBI = MBB.begin();
  829                                    MachineBasicBlock &MBB) const {
  837   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
 1097 MachineBasicBlock::iterator SIFrameLowering::eliminateCallFramePseudoInstr(
lib/Target/AMDGPU/SIFrameLowering.h
   29                                  MachineBasicBlock &MBB) const;
   31                     MachineBasicBlock &MBB) const override;
   33                     MachineBasicBlock &MBB) const override;
   52   MachineBasicBlock::iterator
   60                            MachineBasicBlock &MBB) const;
   75       MachineBasicBlock &MBB, SIMachineFunctionInfo *MFI,
   76       MachineBasicBlock::iterator I, unsigned PreloadedPrivateBufferReg,
lib/Target/AMDGPU/SIISelLowering.cpp
 1978 void SITargetLowering::initializeSplitCSR(MachineBasicBlock *Entry) const {
 1983   MachineBasicBlock *Entry,
 1984   const SmallVectorImpl<MachineBasicBlock *> &Exits) const {
 1993   MachineBasicBlock::iterator MBBI = Entry->begin();
 2010     for (auto *Exit : Exits)
 3030 MachineBasicBlock *SITargetLowering::splitKillBlock(MachineInstr &MI,
 3031                                                     MachineBasicBlock *BB) const {
 3034   MachineBasicBlock::iterator SplitPoint(&MI);
 3044   MachineBasicBlock *SplitBB
 3062 static std::pair<MachineBasicBlock *, MachineBasicBlock *>
 3062 static std::pair<MachineBasicBlock *, MachineBasicBlock *>
 3063 splitBlockForLoop(MachineInstr &MI, MachineBasicBlock &MBB, bool InstInLoop) {
 3065   MachineBasicBlock::iterator I(&MI);
 3069   MachineBasicBlock *LoopBB = MF->CreateMachineBasicBlock();
 3070   MachineBasicBlock *RemainderBB = MF->CreateMachineBasicBlock();
 3102   MachineBasicBlock *MBB = MI.getParent();
 3114 MachineBasicBlock *
 3116                                          MachineBasicBlock *BB) const {
 3121   MachineBasicBlock *LoopBB;
 3122   MachineBasicBlock *RemainderBB;
 3131   MachineBasicBlock::iterator I = LoopBB->end();
 3164 static MachineBasicBlock::iterator emitLoadM0FromVGPRLoop(
 3181   MachineBasicBlock::iterator I = LoopBB.begin();
 3270 static MachineBasicBlock::iterator loadM0FromVGPR(const SIInstrInfo *TII,
 3283   MachineBasicBlock::iterator I(&MI);
 3298   MachineBasicBlock *LoopBB;
 3299   MachineBasicBlock *RemainderBB;
 3308   MachineBasicBlock::iterator First = RemainderBB->begin();
 3338   MachineBasicBlock *MBB = MI.getParent();
 3340   MachineBasicBlock::iterator I(&MI);
 3389 static MachineBasicBlock *emitIndirectSrc(MachineInstr &MI,
 3390                                           MachineBasicBlock &MBB,
 3410     MachineBasicBlock::iterator I(&MI);
 3434   MachineBasicBlock::iterator I(&MI);
 3443   MachineBasicBlock *LoopBB = InsPt->getParent();
 3480 static MachineBasicBlock *emitIndirectDst(MachineInstr &MI,
 3481                                           MachineBasicBlock &MBB,
 3505     MachineBasicBlock::iterator I(&MI);
 3520     MachineBasicBlock::iterator I(&MI);
 3555   MachineBasicBlock *LoopBB = InsPt->getParent();
 3580 MachineBasicBlock *SITargetLowering::EmitInstrWithCustomInserter(
 3581   MachineInstr &MI, MachineBasicBlock *BB) const {
10713     MachineBasicBlock &MBB = MF.front();
10714     MachineBasicBlock::iterator I = MBB.getFirstNonDebugInstr();
10717     for (auto &MBB : MF) {
10762   const MachineBasicBlock *Header = ML->getHeader();
10767   for (const MachineBasicBlock *MBB : ML->blocks()) {
10789     if (MachineBasicBlock *Exit = P->getExitBlock()) {
10796   MachineBasicBlock *Pre = ML->getLoopPreheader();
10797   MachineBasicBlock *Exit = ML->getExitBlock();
lib/Target/AMDGPU/SIISelLowering.h
  285   void initializeSplitCSR(MachineBasicBlock *Entry) const override;
  287     MachineBasicBlock *Entry,
  288     const SmallVectorImpl<MachineBasicBlock *> &Exits) const override;
  335   MachineBasicBlock *splitKillBlock(MachineInstr &MI,
  336                                     MachineBasicBlock *BB) const;
  339   MachineBasicBlock *emitGWSMemViolTestLoop(MachineInstr &MI,
  340                                             MachineBasicBlock *BB) const;
  342   MachineBasicBlock *
  344                               MachineBasicBlock *BB) const override;
lib/Target/AMDGPU/SIInsertSkips.cpp
   56   bool shouldSkip(const MachineBasicBlock &From,
   57                   const MachineBasicBlock &To) const;
   59   bool skipIfDead(MachineInstr &MI, MachineBasicBlock &NextBB);
   63   MachineBasicBlock *insertSkipBlock(MachineBasicBlock &MBB,
   63   MachineBasicBlock *insertSkipBlock(MachineBasicBlock &MBB,
   64                                      MachineBasicBlock::iterator I) const;
   66   bool skipMaskBranch(MachineInstr &MI, MachineBasicBlock &MBB);
  108 bool SIInsertSkips::shouldSkip(const MachineBasicBlock &From,
  109                                const MachineBasicBlock &To) const {
  115     const MachineBasicBlock &MBB = *MBBI;
  117     for (MachineBasicBlock::const_iterator I = MBB.begin(), E = MBB.end();
  149 bool SIInsertSkips::skipIfDead(MachineInstr &MI, MachineBasicBlock &NextBB) {
  150   MachineBasicBlock &MBB = *MI.getParent();
  157   MachineBasicBlock *SkipBB = insertSkipBlock(MBB, MI.getIterator());
  165   MachineBasicBlock::iterator Insert = SkipBB->begin();
  185   MachineBasicBlock &MBB = *MI.getParent();
  306 MachineBasicBlock *SIInsertSkips::insertSkipBlock(
  307   MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const {
  307   MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const {
  310   MachineBasicBlock *SkipBB = MF->CreateMachineBasicBlock();
  322                                    MachineBasicBlock &SrcMBB) {
  323   MachineBasicBlock *DestBB = MI.getOperand(0).getMBB();
  329   MachineBasicBlock::iterator InsPt = std::next(MI.getIterator());
  345   MachineBasicBlock &MBB = *MI.getParent();
  352   MachineBasicBlock::reverse_iterator A = MI.getReverseIterator(),
  439   SmallVector<MachineBasicBlock *, 16> ExecBranchStack;
  443   MachineBasicBlock *EmptyMBBAtEnd = nullptr;
  448     MachineBasicBlock &MBB = *BI;
  462     MachineBasicBlock::iterator I, Next;
lib/Target/AMDGPU/SIInsertWaitcnts.cpp
  378     MachineBasicBlock *MBB;
  382     explicit BlockInfo(MachineBasicBlock *MBB) : MBB(MBB) {}
  386   DenseMap<MachineBasicBlock *, unsigned> RpotIdxMap;
  453   bool insertWaitcntInBlock(MachineFunction &MF, MachineBasicBlock &Block,
 1362                                             MachineBasicBlock &Block,
 1374   for (MachineBasicBlock::instr_iterator Iter = Block.instr_begin(),
 1480   for (MachineBasicBlock *MBB :
 1515         for (MachineBasicBlock *Succ : BI.MBB->successors()) {
 1539   SmallVector<MachineBasicBlock *, 4> EndPgmBlocks;
 1545     MachineBasicBlock &MBB = *BI;
 1547     for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end(); I != E;
 1566     for (MachineBasicBlock *MBB : EndPgmBlocks) {
 1569       for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;
 1594     MachineBasicBlock &EntryBB = MF.front();
lib/Target/AMDGPU/SIInstrInfo.cpp
  509 static void reportIllegalCopy(const SIInstrInfo *TII, MachineBasicBlock &MBB,
  510                               MachineBasicBlock::iterator MI,
  524 void SIInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  525                               MachineBasicBlock::iterator MI,
  751 void SIInstrInfo::materializeImmediate(MachineBasicBlock &MBB,
  752                                        MachineBasicBlock::iterator MI,
  812 void SIInstrInfo::insertVectorSelect(MachineBasicBlock &MBB,
  813                                      MachineBasicBlock::iterator I,
  940 unsigned SIInstrInfo::insertEQ(MachineBasicBlock *MBB,
  941                                MachineBasicBlock::iterator I,
  953 unsigned SIInstrInfo::insertNE(MachineBasicBlock *MBB,
  954                                MachineBasicBlock::iterator I,
 1043 void SIInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
 1044                                       MachineBasicBlock::iterator MI,
 1172 void SIInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
 1173                                        MachineBasicBlock::iterator MI,
 1229     MachineBasicBlock &MBB, MachineInstr &MI, RegScavenger *RS, unsigned TmpReg,
 1240     MachineBasicBlock &Entry = MBB.getParent()->front();
 1241     MachineBasicBlock::iterator Insert = Entry.front();
 1323 void SIInstrInfo::insertWaitStates(MachineBasicBlock &MBB,
 1324                                    MachineBasicBlock::iterator MI,
 1339 void SIInstrInfo::insertNoop(MachineBasicBlock &MBB,
 1340                              MachineBasicBlock::iterator MI) const {
 1344 void SIInstrInfo::insertReturn(MachineBasicBlock &MBB) const {
 1372   MachineBasicBlock &MBB = *MI.getParent();
 1548     for (MachineBasicBlock::instr_iterator I = MI.getIterator();
 1567   MachineBasicBlock &MBB = *MI.getParent();
 1756 MachineBasicBlock *SIInstrInfo::getBranchDestBlock(
 1767 unsigned SIInstrInfo::insertIndirectBranch(MachineBasicBlock &MBB,
 1768                                            MachineBasicBlock &DestBB,
 1901 bool SIInstrInfo::analyzeBranchImpl(MachineBasicBlock &MBB,
 1902                                     MachineBasicBlock::iterator I,
 1913   MachineBasicBlock *CondBB = nullptr;
 1944 bool SIInstrInfo::analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
 1944 bool SIInstrInfo::analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
 1945                                 MachineBasicBlock *&FBB,
 1948   MachineBasicBlock::iterator I = MBB.getFirstTerminator();
 1995   MachineBasicBlock *MaskBrDest = I->getOperand(0).getMBB();
 2013 unsigned SIInstrInfo::removeBranch(MachineBasicBlock &MBB,
 2015   MachineBasicBlock::iterator I = MBB.getFirstTerminator();
 2020     MachineBasicBlock::iterator Next = std::next(I);
 2045 unsigned SIInstrInfo::insertBranch(MachineBasicBlock &MBB,
 2046                                    MachineBasicBlock *TBB,
 2047                                    MachineBasicBlock *FBB,
 2117 bool SIInstrInfo::canInsertSelect(const MachineBasicBlock &MBB,
 2157 void SIInstrInfo::insertSelect(MachineBasicBlock &MBB,
 2158                                MachineBasicBlock::iterator I, const DebugLoc &DL,
 2724                                        const MachineBasicBlock *MBB,
 3060   MachineBasicBlock *MBB = MI.getParent();;
 3825   MachineBasicBlock::iterator I = MI;
 3826   MachineBasicBlock *MBB = MI.getParent();
 3852 unsigned SIInstrInfo::buildExtractSubReg(MachineBasicBlock::iterator MI,
 3859   MachineBasicBlock *MBB = MI->getParent();
 3885   MachineBasicBlock::iterator MII,
 4272 void SIInstrInfo::legalizeGenericOperand(MachineBasicBlock &InsertMBB,
 4273                                          MachineBasicBlock::iterator I,
 4320                           MachineBasicBlock &OrigBB, MachineBasicBlock &LoopBB,
 4320                           MachineBasicBlock &OrigBB, MachineBasicBlock &LoopBB,
 4334   MachineBasicBlock::iterator I = LoopBB.begin();
 4404   MachineBasicBlock &MBB = *MI.getParent();
 4409   MachineBasicBlock::iterator I(&MI);
 4430   MachineBasicBlock *LoopBB = MF.CreateMachineBasicBlock();
 4431   MachineBasicBlock *RemainderBB = MF.CreateMachineBasicBlock();
 4442   MachineBasicBlock::iterator J = I++;
 4466   MachineBasicBlock::iterator First = RemainderBB->begin();
 4473   MachineBasicBlock &MBB = *MI.getParent();
 4583       MachineBasicBlock *InsertBB = MI.getOperand(I + 1).getMBB();
 4584       MachineBasicBlock::iterator Insert = InsertBB->getFirstTerminator();
 4596     MachineBasicBlock *MBB = MI.getParent();
 4628       MachineBasicBlock *MBB = MI.getParent();
 4692     MachineBasicBlock &MBB = *MI.getParent();
 4823     MachineBasicBlock *MBB = Inst.getParent();
 5108     MachineBasicBlock &MBB = *Inst.getParent();
 5138   MachineBasicBlock &MBB = *Inst.getParent();
 5140   MachineBasicBlock::iterator MII = Inst;
 5165   MachineBasicBlock &MBB = *Inst.getParent();
 5167   MachineBasicBlock::iterator MII = Inst;
 5231   MachineBasicBlock &MBB = *Inst.getParent();
 5233   MachineBasicBlock::iterator MII = Inst;
 5260   MachineBasicBlock &MBB = *Inst.getParent();
 5262   MachineBasicBlock::iterator MII = Inst;
 5289   MachineBasicBlock &MBB = *Inst.getParent();
 5296   MachineBasicBlock::iterator MII = Inst;
 5345   MachineBasicBlock &MBB = *Inst.getParent();
 5360   MachineBasicBlock::iterator MII = Inst;
 5415   MachineBasicBlock &MBB = *Inst.getParent();
 5423   MachineBasicBlock::iterator MII = Inst;
 5479   MachineBasicBlock &MBB = *Inst.getParent();
 5487   MachineBasicBlock::iterator MII = Inst;
 5520   MachineBasicBlock &MBB = *Inst.getParent();
 5523   MachineBasicBlock::iterator MII = Inst;
 5557   MachineBasicBlock &MBB = *Inst.getParent();
 5559   MachineBasicBlock::iterator MII = Inst;
 5656   MachineBasicBlock *MBB = Inst.getParent();
 5970   MachineBasicBlock::const_instr_iterator I = MI.getIterator();
 5971   MachineBasicBlock::const_instr_iterator E = MI.getParent()->instr_end();
 6065 void SIInstrInfo::convertNonUniformIfRegion(MachineBasicBlock *IfEntry,
 6066                                             MachineBasicBlock *IfEnd) const {
 6067   MachineBasicBlock::iterator TI = IfEntry->getFirstTerminator();
 6091     MachineBasicBlock *LoopEntry, MachineBasicBlock *LoopEnd) const {
 6091     MachineBasicBlock *LoopEntry, MachineBasicBlock *LoopEnd) const {
 6092   MachineBasicBlock::iterator TI = LoopEnd->getFirstTerminator();
 6106     for (MachineBasicBlock::pred_iterator PI = LoopEntry->pred_begin(),
 6112         MachineBasicBlock *PMBB = *PI;
 6189 SIInstrInfo::getAddNoCarry(MachineBasicBlock &MBB,
 6190                            MachineBasicBlock::iterator I,
 6204 MachineInstrBuilder SIInstrInfo::getAddNoCarry(MachineBasicBlock &MBB,
 6205                                                MachineBasicBlock::iterator I,
 6243   MachineBasicBlock *MBB = MI.getParent();
 6526     MachineBasicBlock &MBB, MachineBasicBlock::iterator LastPHIIt,
 6526     MachineBasicBlock &MBB, MachineBasicBlock::iterator LastPHIIt,
 6541     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsPt,
 6541     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsPt,
lib/Target/AMDGPU/SIInstrInfo.h
   67   unsigned buildExtractSubReg(MachineBasicBlock::iterator MI,
   73   MachineOperand buildExtractSubRegOrImm(MachineBasicBlock::iterator MI,
  194   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  194   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  198   unsigned calculateLDSSpillAddress(MachineBasicBlock &MBB, MachineInstr &MI,
  202   void materializeImmediate(MachineBasicBlock &MBB,
  203                             MachineBasicBlock::iterator MI,
  211   unsigned insertNE(MachineBasicBlock *MBB,
  212                     MachineBasicBlock::iterator I, const DebugLoc &DL,
  215   unsigned insertEQ(MachineBasicBlock *MBB,
  216                     MachineBasicBlock::iterator I, const DebugLoc &DL,
  219   void storeRegToStackSlot(MachineBasicBlock &MBB,
  220                            MachineBasicBlock::iterator MI, unsigned SrcReg,
  225   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  226                             MachineBasicBlock::iterator MI, unsigned DestReg,
  262   MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const override;
  264   unsigned insertIndirectBranch(MachineBasicBlock &MBB,
  265                                 MachineBasicBlock &NewDestBB,
  270   bool analyzeBranchImpl(MachineBasicBlock &MBB,
  271                          MachineBasicBlock::iterator I,
  277   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  277   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  278                      MachineBasicBlock *&FBB,
  282   unsigned removeBranch(MachineBasicBlock &MBB,
  285   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  285   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  286                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  293   bool canInsertSelect(const MachineBasicBlock &MBB,
  299   void insertSelect(MachineBasicBlock &MBB,
  300                     MachineBasicBlock::iterator I, const DebugLoc &DL,
  304   void insertVectorSelect(MachineBasicBlock &MBB,
  305                           MachineBasicBlock::iterator I, const DebugLoc &DL,
  328                             const MachineBasicBlock *MBB,
  876   void legalizeGenericOperand(MachineBasicBlock &InsertMBB,
  877                               MachineBasicBlock::iterator I,
  893   void insertWaitStates(MachineBasicBlock &MBB,MachineBasicBlock::iterator MI,
  893   void insertWaitStates(MachineBasicBlock &MBB,MachineBasicBlock::iterator MI,
  896   void insertNoop(MachineBasicBlock &MBB,
  897                   MachineBasicBlock::iterator MI) const override;
  899   void insertReturn(MachineBasicBlock &MBB) const;
  948   void convertNonUniformIfRegion(MachineBasicBlock *IfEntry,
  949                                  MachineBasicBlock *IfEnd) const;
  951   void convertNonUniformLoopRegion(MachineBasicBlock *LoopEntry,
  952                                    MachineBasicBlock *LoopEnd) const;
  972   MachineInstr *createPHIDestinationCopy(MachineBasicBlock &MBB,
  973                                          MachineBasicBlock::iterator InsPt,
  977   MachineInstr *createPHISourceCopy(MachineBasicBlock &MBB,
  978                                     MachineBasicBlock::iterator InsPt,
  989   MachineInstrBuilder getAddNoCarry(MachineBasicBlock &MBB,
  990                                     MachineBasicBlock::iterator I,
  994   MachineInstrBuilder getAddNoCarry(MachineBasicBlock &MBB,
  995                                     MachineBasicBlock::iterator I,
lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
  114     MachineBasicBlock::iterator I;
  115     MachineBasicBlock::iterator Paired;
  184     void setMI(MachineBasicBlock::iterator MI, const SIInstrInfo &TII,
  186     void setPaired(MachineBasicBlock::iterator MI, const SIInstrInfo &TII);
  223   MachineBasicBlock::iterator mergeRead2Pair(CombineInfo &CI);
  227   MachineBasicBlock::iterator mergeWrite2Pair(CombineInfo &CI);
  228   MachineBasicBlock::iterator mergeImagePair(CombineInfo &CI);
  229   MachineBasicBlock::iterator mergeSBufferLoadImmPair(CombineInfo &CI);
  230   MachineBasicBlock::iterator mergeBufferLoadPair(CombineInfo &CI);
  231   MachineBasicBlock::iterator mergeBufferStorePair(CombineInfo &CI);
  247   bool collectMergeableInsts(MachineBasicBlock &MBB,
  423 void SILoadStoreOptimizer::CombineInfo::setMI(MachineBasicBlock::iterator MI,
  507 void SILoadStoreOptimizer::CombineInfo::setPaired(MachineBasicBlock::iterator MI,
  549 static void moveInstsAfter(MachineBasicBlock::iterator I,
  551   MachineBasicBlock *MBB = I->getParent();
  572 static bool memAccessesCanBeReordered(MachineBasicBlock::iterator A,
  753   MachineBasicBlock *MBB = CI.I->getParent();
  754   MachineBasicBlock::iterator E = MBB->end();
  755   MachineBasicBlock::iterator MBBI = CI.I;
  871 MachineBasicBlock::iterator
  873   MachineBasicBlock *MBB = CI.I->getParent();
  970 MachineBasicBlock::iterator
  972   MachineBasicBlock *MBB = CI.I->getParent();
 1037 MachineBasicBlock::iterator
 1039   MachineBasicBlock *MBB = CI.I->getParent();
 1091 MachineBasicBlock::iterator
 1093   MachineBasicBlock *MBB = CI.I->getParent();
 1141 MachineBasicBlock::iterator
 1143   MachineBasicBlock *MBB = CI.I->getParent();
 1295 MachineBasicBlock::iterator
 1297   MachineBasicBlock *MBB = CI.I->getParent();
 1373   MachineBasicBlock *MBB = MI.getParent();
 1374   MachineBasicBlock::iterator MBBI = MI.getIterator();
 1588   MachineBasicBlock *MBB = MI.getParent();
 1589   MachineBasicBlock::iterator E = MBB->end();
 1590   MachineBasicBlock::iterator MBBI = MI.getIterator();
 1678 bool SILoadStoreOptimizer::collectMergeableInsts(MachineBasicBlock &MBB,
 1771         MachineBasicBlock::iterator NewMI = mergeRead2Pair(CI);
 1779         MachineBasicBlock::iterator NewMI = mergeWrite2Pair(CI);
 1787         MachineBasicBlock::iterator NewMI = mergeSBufferLoadImmPair(CI);
 1796         MachineBasicBlock::iterator NewMI = mergeBufferLoadPair(CI);
 1805         MachineBasicBlock::iterator NewMI = mergeBufferStorePair(CI);
 1814         MachineBasicBlock::iterator NewMI = mergeImagePair(CI);
 1850   for (MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/SILowerControlFlow.cpp
  161   DenseSet<const MachineBasicBlock*> Visited;
  162   SmallVector<MachineBasicBlock*, 4> Worklist(SMBB->succ_begin(),
  166     MachineBasicBlock *MBB = Worklist.pop_back_val();
  181   MachineBasicBlock *MBB = MI->getParent();
  188   MachineBasicBlock::iterator I = (MI);
  189   MachineBasicBlock::iterator J = std::next(I);
  199   MachineBasicBlock &MBB = *MI.getParent();
  201   MachineBasicBlock::iterator I(&MI);
  282   MachineBasicBlock &MBB = *MI.getParent();
  288   MachineBasicBlock::iterator Start = MBB.begin();
  306   MachineBasicBlock *DestBB = MI.getOperand(2).getMBB();
  308   MachineBasicBlock::iterator ElsePt(MI);
  355   MachineBasicBlock &MBB = *MI.getParent();
  396   MachineBasicBlock &MBB = *MI.getParent();
  417   MachineBasicBlock &MBB = *MI.getParent();
  423   MachineBasicBlock::iterator InsPt =
  528     MachineBasicBlock &MBB = *BI;
  530     MachineBasicBlock::iterator I, Next, Last;
lib/Target/AMDGPU/SILowerI1Copies.cpp
   44 static unsigned insertUndefLaneMask(MachineBasicBlock &MBB);
   92   void buildMergeLaneMasks(MachineBasicBlock &MBB,
   93                            MachineBasicBlock::iterator I, const DebugLoc &DL,
   95   MachineBasicBlock::iterator
  137   DenseMap<MachineBasicBlock *, bool> ReachableMap;
  138   SmallVector<MachineBasicBlock *, 4> ReachableOrdered;
  139   SmallVector<MachineBasicBlock *, 4> Stack;
  140   SmallVector<MachineBasicBlock *, 4> Predecessors;
  147   bool isSource(MachineBasicBlock &MBB) const {
  151   ArrayRef<MachineBasicBlock *> predecessors() const { return Predecessors; }
  153   void analyze(MachineBasicBlock &DefBlock,
  154                ArrayRef<MachineBasicBlock *> IncomingBlocks) {
  165     for (MachineBasicBlock *MBB : IncomingBlocks) {
  188         for (MachineBasicBlock *Succ : MBB->successors())
  194       MachineBasicBlock *MBB = Stack.pop_back_val();
  199       for (MachineBasicBlock *Succ : MBB->successors())
  203     for (MachineBasicBlock *MBB : ReachableOrdered) {
  205       for (MachineBasicBlock *Pred : MBB->predecessors()) {
  215         for (MachineBasicBlock *UnreachablePred : Stack) {
  264   DenseMap<MachineBasicBlock *, unsigned> Visited;
  268   SmallVector<MachineBasicBlock *, 4> CommonDominators;
  271   MachineBasicBlock *VisitedPostDom = nullptr;
  278   MachineBasicBlock *DefBlock = nullptr;
  279   SmallVector<MachineBasicBlock *, 4> Stack;
  280   SmallVector<MachineBasicBlock *, 4> NextLevel;
  286   void initialize(MachineBasicBlock &MBB) {
  301   unsigned findLoop(MachineBasicBlock *PostDom) {
  324                       ArrayRef<MachineBasicBlock *> Blocks = {}) {
  327     MachineBasicBlock *Dom = CommonDominators[LoopLevel];
  328     for (MachineBasicBlock *MBB : Blocks)
  336       for (MachineBasicBlock *Pred : Dom->predecessors()) {
  344   bool inLoopLevel(MachineBasicBlock &MBB, unsigned LoopLevel,
  345                    ArrayRef<MachineBasicBlock *> Blocks) const {
  357     MachineBasicBlock *VisitedDom;
  381       MachineBasicBlock *MBB = Stack.pop_back_val();
  388       for (MachineBasicBlock *Succ : MBB->successors()) {
  434 static unsigned insertUndefLaneMask(MachineBasicBlock &MBB) {
  504   for (MachineBasicBlock &MBB : *MF) {
  545   SmallVector<MachineBasicBlock *, 4> IncomingBlocks;
  552   for (MachineBasicBlock &MBB : *MF) {
  559   MachineBasicBlock *PrevMBB = nullptr;
  561     MachineBasicBlock &MBB = *MI->getParent();
  577       MachineBasicBlock *IncomingMBB = MI->getOperand(i + 1).getMBB();
  600     std::vector<MachineBasicBlock *> DomBlocks = {&MBB};
  604     MachineBasicBlock *PostDomBound =
  620         MachineBasicBlock &IMBB = *IncomingBlocks[i];
  630       for (MachineBasicBlock *MBB : PIA.predecessors())
  634         MachineBasicBlock &IMBB = *IncomingBlocks[i];
  648         MachineBasicBlock &IMBB = *IncomingBlocks[i];
  672   for (MachineBasicBlock &MBB : *MF) {
  713       std::vector<MachineBasicBlock *> DomBlocks = {&MBB};
  717       MachineBasicBlock *PostDomBound =
  786 MachineBasicBlock::iterator
  813 void SILowerI1Copies::buildMergeLaneMasks(MachineBasicBlock &MBB,
  814                                           MachineBasicBlock::iterator I,
lib/Target/AMDGPU/SILowerSGPRSpills.cpp
   36 using MBBVector = SmallVector<MachineBasicBlock *, 4>;
   87 static void insertCSRSaves(MachineBasicBlock &SaveBlock,
   95   MachineBasicBlock::iterator I = SaveBlock.begin();
  119 static void insertCSRRestores(MachineBasicBlock &RestoreBlock,
  129   MachineBasicBlock::iterator I = RestoreBlock.getFirstTerminator();
  165     MachineBasicBlock *RestoreBlock = MFI.getRestorePoint();
  176   for (MachineBasicBlock &MBB : MF) {
  218       for (MachineBasicBlock *SaveBlock : SaveBlocks)
  221       for (MachineBasicBlock *RestoreBlock : RestoreBlocks)
  269     for (MachineBasicBlock &MBB : MF) {
  270       MachineBasicBlock::iterator Next;
  303     for (MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
  309       for (MachineBasicBlock &BB : MF)
lib/Target/AMDGPU/SIMachineScheduler.cpp
  325 void SIScheduleBlock::initRegPressure(MachineBasicBlock::iterator BeginBlock,
  398 void SIScheduleBlock::schedule(MachineBasicBlock::iterator BeginBlock,
 1275 static MachineBasicBlock::iterator
 1350   MachineBasicBlock::iterator CurrentTopFastSched = DAG->getCurrentTop();
 1351   std::vector<MachineBasicBlock::iterator> PosOld;
 1352   std::vector<MachineBasicBlock::iterator> PosNew;
 1363       MachineBasicBlock::iterator Pos = MI;
 1397     MachineBasicBlock::iterator POld = PosOld[i-1];
 1398     MachineBasicBlock::iterator PNew = PosNew[i-1];
lib/Target/AMDGPU/SIMachineScheduler.h
  152   void schedule(MachineBasicBlock::iterator BeginBlock,
  209   void initRegPressure(MachineBasicBlock::iterator BeginBlock,
  455   MachineBasicBlock *getBB() { return BB; }
  456   MachineBasicBlock::iterator getCurrentTop() { return CurrentTop; }
  457   MachineBasicBlock::iterator getCurrentBottom() { return CurrentBottom; }
lib/Target/AMDGPU/SIMemoryLegalizer.cpp
  104 bool enableNamedBit(const MachineBasicBlock::iterator &MI) {
  207   void reportUnsupported(const MachineBasicBlock::iterator &MI,
  223       const MachineBasicBlock::iterator &MI) const;
  232       const MachineBasicBlock::iterator &MI) const;
  236       const MachineBasicBlock::iterator &MI) const;
  241       const MachineBasicBlock::iterator &MI) const;
  246       const MachineBasicBlock::iterator &MI) const;
  267   virtual bool enableLoadCacheBypass(const MachineBasicBlock::iterator &MI,
  273   virtual bool enableNonTemporal(const MachineBasicBlock::iterator &MI)
  281   virtual bool insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  293   virtual bool insertWait(MachineBasicBlock::iterator &MI,
  310   bool enableGLCBit(const MachineBasicBlock::iterator &MI) const {
  316   bool enableSLCBit(const MachineBasicBlock::iterator &MI) const {
  324   bool enableLoadCacheBypass(const MachineBasicBlock::iterator &MI,
  328   bool enableNonTemporal(const MachineBasicBlock::iterator &MI) const override;
  330   bool insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  335   bool insertWait(MachineBasicBlock::iterator &MI,
  348   bool insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  361   bool enableDLCBit(const MachineBasicBlock::iterator &MI) const {
  370   bool enableLoadCacheBypass(const MachineBasicBlock::iterator &MI,
  374   bool enableNonTemporal(const MachineBasicBlock::iterator &MI) const override;
  376   bool insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  381   bool insertWait(MachineBasicBlock::iterator &MI,
  396   std::list<MachineBasicBlock::iterator> AtomicPseudoMIs;
  411                   MachineBasicBlock::iterator &MI);
  415                    MachineBasicBlock::iterator &MI);
  419                          MachineBasicBlock::iterator &MI);
  423                                 MachineBasicBlock::iterator &MI);
  444 void SIMemOpAccess::reportUnsupported(const MachineBasicBlock::iterator &MI,
  517     const MachineBasicBlock::iterator &MI) const {
  576     const MachineBasicBlock::iterator &MI) const {
  590     const MachineBasicBlock::iterator &MI) const {
  604     const MachineBasicBlock::iterator &MI) const {
  637     const MachineBasicBlock::iterator &MI) const {
  666     const MachineBasicBlock::iterator &MI,
  702     const MachineBasicBlock::iterator &MI) const {
  713 bool SIGfx6CacheControl::insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  719   MachineBasicBlock &MBB = *MI->getParent();
  755 bool SIGfx6CacheControl::insertWait(MachineBasicBlock::iterator &MI,
  763   MachineBasicBlock &MBB = *MI->getParent();
  851 bool SIGfx7CacheControl::insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  857   MachineBasicBlock &MBB = *MI->getParent();
  900     const MachineBasicBlock::iterator &MI,
  943     const MachineBasicBlock::iterator &MI) const {
  953 bool SIGfx10CacheControl::insertCacheInvalidate(MachineBasicBlock::iterator &MI,
  959   MachineBasicBlock &MBB = *MI->getParent();
 1005 bool SIGfx10CacheControl::insertWait(MachineBasicBlock::iterator &MI,
 1013   MachineBasicBlock &MBB = *MI->getParent();
 1136                                    MachineBasicBlock::iterator &MI) {
 1181                                     MachineBasicBlock::iterator &MI) {
 1208                                           MachineBasicBlock::iterator &MI) {
 1246   MachineBasicBlock::iterator &MI) {
 1290   for (auto &MBB : MF) {
lib/Target/AMDGPU/SIModeRegister.cpp
  123   std::queue<MachineBasicBlock *> Phase2List;
  144   void processBlockPhase1(MachineBasicBlock &MBB, const SIInstrInfo *TII);
  146   void processBlockPhase2(MachineBasicBlock &MBB, const SIInstrInfo *TII);
  148   void processBlockPhase3(MachineBasicBlock &MBB, const SIInstrInfo *TII);
  152   void insertSetreg(MachineBasicBlock &MBB, MachineInstr *I,
  192 void SIModeRegister::insertSetreg(MachineBasicBlock &MBB, MachineInstr *MI,
  227 void SIModeRegister::processBlockPhase1(MachineBasicBlock &MBB,
  326 void SIModeRegister::processBlockPhase2(MachineBasicBlock &MBB,
  336     MachineBasicBlock::pred_iterator P = MBB.pred_begin(), E = MBB.pred_end();
  337     MachineBasicBlock &PB = *(*P);
  341       MachineBasicBlock *Pred = *P;
  350     for (MachineBasicBlock::succ_iterator S = MBB.succ_begin(),
  353       MachineBasicBlock &B = *(*S);
  362 void SIModeRegister::processBlockPhase3(MachineBasicBlock &MBB,
  384   for (MachineBasicBlock &BB : MF)
  390   for (MachineBasicBlock &BB : MF)
  399   for (MachineBasicBlock &BB : MF)
lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
  222 static MachineBasicBlock::reverse_iterator fixTerminators(
  224   MachineBasicBlock &MBB) {
  225   MachineBasicBlock::reverse_iterator I = MBB.rbegin(), E = MBB.rend();
  237 static MachineBasicBlock::reverse_iterator findExecCopy(
  240   MachineBasicBlock &MBB,
  241   MachineBasicBlock::reverse_iterator I,
  258 static bool isLiveOut(const MachineBasicBlock &MBB, unsigned Reg) {
  259   for (MachineBasicBlock *Succ : MBB.successors()) {
  287   for (MachineBasicBlock &MBB : MF) {
  288     MachineBasicBlock::reverse_iterator I = fixTerminators(*TII, MBB);
  289     MachineBasicBlock::reverse_iterator E = MBB.rend();
  329     for (MachineBasicBlock::iterator J
lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
   42   MachineBasicBlock::iterator skipIgnoreExecInsts(
   45     MachineBasicBlock::iterator skipIgnoreExecInstsTrivialSucc(
  134 MachineBasicBlock::iterator SIOptimizeExecMaskingPreRA::skipIgnoreExecInsts(
  147 MachineBasicBlock::iterator
  158     MachineBasicBlock *Succ = *MBB->succ_begin();
  188 static unsigned optimizeVcndVcmpPair(MachineBasicBlock &MBB,
  308   for (MachineBasicBlock &MBB : MF) {
  331       SmallVector<MachineBasicBlock*, 4> Blocks({&MBB});
  373         for (auto *Pred : CurBB->predecessors()) {
  387     MachineBasicBlock *TmpMBB = &MBB;
lib/Target/AMDGPU/SIPeepholeSDWA.cpp
   90   void matchSDWAOperands(MachineBasicBlock &MBB);
  852 void SIPeepholeSDWA::matchSDWAOperands(MachineBasicBlock &MBB) {
  912   MachineBasicBlock &MBB = *MI.getParent();
  914   if (Liveness != MachineBasicBlock::LQR_Dead)
 1216   for (MachineBasicBlock &MBB : MF) {
lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
  121   for (MachineBasicBlock &MBB : MF) {
  187   for (MachineBasicBlock *MBB : RPOT) {
lib/Target/AMDGPU/SIRegisterInfo.cpp
  342 void SIRegisterInfo::materializeFrameBaseRegister(MachineBasicBlock *MBB,
  346   MachineBasicBlock::iterator Ins = MBB->begin();
  396   MachineBasicBlock *MBB = MI.getParent();
  544                                            MachineBasicBlock::iterator MI,
  549   MachineBasicBlock *MBB = MI->getParent();
  576                                       MachineBasicBlock::iterator MI,
  580   MachineBasicBlock *MBB = MI->getParent();
  614 void SIRegisterInfo::buildSpillLoadStore(MachineBasicBlock::iterator MI,
  624   MachineBasicBlock *MBB = MI->getParent();
  745 bool SIRegisterInfo::spillSGPR(MachineBasicBlock::iterator MI,
  749   MachineBasicBlock *MBB = MI->getParent();
  863 bool SIRegisterInfo::restoreSGPR(MachineBasicBlock::iterator MI,
  868   MachineBasicBlock *MBB = MI->getParent();
  956   MachineBasicBlock::iterator MI,
  983 void SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
  987   MachineBasicBlock *MBB = MI->getParent();
lib/Target/AMDGPU/SIRegisterInfo.h
   89   void materializeFrameBaseRegister(MachineBasicBlock *MBB,
  103   bool spillSGPR(MachineBasicBlock::iterator MI,
  107   bool restoreSGPR(MachineBasicBlock::iterator MI,
  111   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
  115   bool eliminateSGPRToVGPRSpillFrameIndex(MachineBasicBlock::iterator MI,
  289   void buildSpillLoadStore(MachineBasicBlock::iterator MI,
lib/Target/AMDGPU/SIShrinkInstructions.cpp
  563     MachineBasicBlock &MBB = *BI;
  564     MachineBasicBlock::iterator I, Next;
lib/Target/AMDGPU/SIWholeQuadMode.cpp
  138   MachineBasicBlock *MBB = nullptr;
  142   WorkItem(MachineBasicBlock *MBB) : MBB(MBB) {}
  156   DenseMap<MachineBasicBlock *, BlockInfo> Blocks;
  168   void propagateBlock(MachineBasicBlock &MBB, std::vector<WorkItem> &Worklist);
  173   MachineBasicBlock::iterator saveSCC(MachineBasicBlock &MBB,
  175   MachineBasicBlock::iterator
  179   void toExact(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  179   void toExact(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  181   void toWQM(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  181   void toWQM(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  183   void toWWM(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  183   void toWWM(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  185   void fromWWM(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  185   void fromWWM(MachineBasicBlock &MBB, MachineBasicBlock::iterator Before,
  187   void processBlock(MachineBasicBlock &MBB, unsigned LiveMaskReg, bool isEntry);
  323     MachineBasicBlock &MBB = **BI;
  428   MachineBasicBlock *MBB = MI.getParent();
  473 void SIWholeQuadMode::propagateBlock(MachineBasicBlock &MBB,
  488   for (MachineBasicBlock *Pred : MBB.predecessors()) {
  499   for (MachineBasicBlock *Succ : MBB.successors()) {
  556 MachineBasicBlock::iterator
  578 MachineBasicBlock::iterator SIWholeQuadMode::prepareInsertion(
  611   MachineBasicBlock::iterator MBBI;
  626 void SIWholeQuadMode::toExact(MachineBasicBlock &MBB,
  627                               MachineBasicBlock::iterator Before,
  648 void SIWholeQuadMode::toWQM(MachineBasicBlock &MBB,
  649                             MachineBasicBlock::iterator Before,
  667 void SIWholeQuadMode::toWWM(MachineBasicBlock &MBB,
  668                             MachineBasicBlock::iterator Before,
  678 void SIWholeQuadMode::fromWWM(MachineBasicBlock &MBB,
  679                               MachineBasicBlock::iterator Before,
  690 void SIWholeQuadMode::processBlock(MachineBasicBlock &MBB, unsigned LiveMaskReg,
  719   MachineBasicBlock::iterator FirstWQM = IE;
  725   MachineBasicBlock::iterator FirstWWM = IE;
  727     MachineBasicBlock::iterator Next = II;
  778       MachineBasicBlock::iterator First;
  787       MachineBasicBlock::iterator Before =
  899     MachineBasicBlock &Entry = MF.front();
  900     MachineBasicBlock::iterator EntryMI = Entry.getFirstNonPHI();
lib/Target/ARC/ARCBranchFinalize.cpp
  149   std::map<MachineBasicBlock *, unsigned> BlockToPCMap;
  153   for (auto &MBB : MF) {
lib/Target/ARC/ARCExpandPseudos.cpp
   37   void ExpandStore(MachineFunction &, MachineBasicBlock::iterator);
   60                                    MachineBasicBlock::iterator SII) {
   80   for (auto &MBB : MF) {
   81     MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
   83       MachineBasicBlock::iterator NMBBI = std::next(MBBI);
lib/Target/ARC/ARCFrameLowering.cpp
   44 static void generateStackAdjustment(MachineBasicBlock &MBB,
   45                                     MachineBasicBlock::iterator MBBI,
   98     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   98     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  117                                     MachineBasicBlock &MBB) const {
  124   MachineBasicBlock::iterator MBBI = MBB.begin();
  241                                     MachineBasicBlock &MBB) const {
  245   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
  403     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  403     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  421     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  421     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  452 static void emitRegUpdate(MachineBasicBlock &MBB,
  453                           MachineBasicBlock::iterator &MBBI, DebugLoc dl,
  469 MachineBasicBlock::iterator ARCFrameLowering::eliminateCallFramePseudoInstr(
lib/Target/ARC/ARCFrameLowering.h
   34   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   37   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   43   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   44                                  MachineBasicBlock::iterator MI,
   49   restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   50                               MachineBasicBlock::iterator MI,
   59   MachineBasicBlock::iterator
   68   void adjustStackToMatchRecords(MachineBasicBlock &MBB,
   69                                  MachineBasicBlock::iterator MI,
lib/Target/ARC/ARCInstrInfo.cpp
  170 bool ARCInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  171                                  MachineBasicBlock *&TBB,
  172                                  MachineBasicBlock *&FBB,
  176   MachineBasicBlock::iterator I = MBB.end();
  231         MachineBasicBlock::iterator DI = std::next(I);
  254 unsigned ARCInstrInfo::removeBranch(MachineBasicBlock &MBB,
  257   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  281 void ARCInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  282                                MachineBasicBlock::iterator I,
  293 void ARCInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
  294                                        MachineBasicBlock::iterator I,
  322 void ARCInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
  323                                         MachineBasicBlock::iterator I,
  357 MachineBasicBlock::iterator
  370 unsigned ARCInstrInfo::insertBranch(MachineBasicBlock &MBB,
  371                                     MachineBasicBlock *TBB,
  372                                     MachineBasicBlock *FBB,
lib/Target/ARC/ARCInstrInfo.h
   53   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   53   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   54                      MachineBasicBlock *&FBB,
   58   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   58   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   59                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
   63   unsigned removeBranch(MachineBasicBlock &MBB,
   66   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   66   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   70   void storeRegToStackSlot(MachineBasicBlock &MBB,
   71                            MachineBasicBlock::iterator MI, unsigned SrcReg,
   76   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   77                             MachineBasicBlock::iterator MI, unsigned DestReg,
   96   MachineBasicBlock::iterator loadImmediate(MachineBasicBlock &MBB,
lib/Target/ARC/ARCOptAddrMode.cpp
  102   bool processBasicBlock(MachineBasicBlock &MBB);
  149       MachineBasicBlock *MBB = User->getOperand(BBOperandIdx).getMBB();
  151         const MachineBasicBlock *InstBB = MI->getParent();
  391   MachineBasicBlock::const_iterator MI(To), ME(Ldst),
  419   MachineBasicBlock::const_iterator MI(Ldst), ME(To),
  467 bool ARCOptAddrMode::processBasicBlock(MachineBasicBlock &MBB) {
  496   for (auto &MBB : MF)
lib/Target/ARC/ARCRegisterInfo.cpp
   38 static void ReplaceFrameIndex(MachineBasicBlock::iterator II,
   44   MachineBasicBlock &MBB = *MI.getParent();
  165 void ARCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/ARC/ARCRegisterInfo.h
   41   void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
lib/Target/ARM/A15SDOptimizer.cpp
   66     unsigned createDupLane(MachineBasicBlock &MBB,
   67                            MachineBasicBlock::iterator InsertBefore,
   71     unsigned createExtractSubreg(MachineBasicBlock &MBB,
   72                                  MachineBasicBlock::iterator InsertBefore,
   76     unsigned createVExt(MachineBasicBlock &MBB,
   77                         MachineBasicBlock::iterator InsertBefore,
   80     unsigned createRegSequence(MachineBasicBlock &MBB,
   81                                MachineBasicBlock::iterator InsertBefore,
   85     unsigned createInsertSubreg(MachineBasicBlock &MBB,
   86                                 MachineBasicBlock::iterator InsertBefore,
   90     unsigned createImplicitDef(MachineBasicBlock &MBB,
   91                                MachineBasicBlock::iterator InsertBefore,
  417 unsigned A15SDOptimizer::createDupLane(MachineBasicBlock &MBB,
  418                                        MachineBasicBlock::iterator InsertBefore,
  434     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  434     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  449     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  449     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  465 unsigned A15SDOptimizer::createVExt(MachineBasicBlock &MBB,
  466                                     MachineBasicBlock::iterator InsertBefore,
  479     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  479     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  494 A15SDOptimizer::createImplicitDef(MachineBasicBlock &MBB,
  495                                   MachineBasicBlock::iterator InsertBefore,
  510   MachineBasicBlock::iterator InsertPt(MI);
  512   MachineBasicBlock &MBB = *MI->getParent();
  675   for (MachineBasicBlock &MBB : Fn) {
lib/Target/ARM/ARMAsmPrinter.cpp
  901     const MachineBasicBlock *MBB = cast<ARMConstantPoolMBB>(ACPV)->getMBB();
  955   const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
  957   for (MachineBasicBlock *MBB : JTBBs) {
  998   const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
 1000   for (MachineBasicBlock *MBB : JTBBs) {
 1026   const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
lib/Target/ARM/ARMBaseInstrInfo.cpp
  304   MachineBasicBlock::iterator MBBI = MI.getIterator();
  311 bool ARMBaseInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  312                                      MachineBasicBlock *&TBB,
  313                                      MachineBasicBlock *&FBB,
  319   MachineBasicBlock::iterator I = MBB.end();
  378         MachineBasicBlock::iterator DI = std::next(I);
  401 unsigned ARMBaseInstrInfo::removeBranch(MachineBasicBlock &MBB,
  405   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  428 unsigned ARMBaseInstrInfo::insertBranch(MachineBasicBlock &MBB,
  429                                         MachineBasicBlock *TBB,
  430                                         MachineBasicBlock *FBB,
  484     MachineBasicBlock::const_instr_iterator I = MI.getIterator();
  485     MachineBasicBlock::const_instr_iterator E = MI.getParent()->instr_end();
  701   const MachineBasicBlock &MBB = *MI.getParent();
  759   MachineBasicBlock::const_instr_iterator I = MI.getIterator();
  760   MachineBasicBlock::const_instr_iterator E = MI.getParent()->instr_end();
  768 void ARMBaseInstrInfo::copyFromCPSR(MachineBasicBlock &MBB,
  769                                     MachineBasicBlock::iterator I,
  788 void ARMBaseInstrInfo::copyToCPSR(MachineBasicBlock &MBB,
  789                                   MachineBasicBlock::iterator I,
  830 void ARMBaseInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  831                                    MachineBasicBlock::iterator I,
 1028 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
 1028 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
 1269 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
 1269 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
 1513 void ARMBaseInstrInfo::expandMEMCPY(MachineBasicBlock::iterator MI) const {
 1519   MachineBasicBlock *BB = MI->getParent();
 1692 void ARMBaseInstrInfo::reMaterialize(MachineBasicBlock &MBB,
 1693                                      MachineBasicBlock::iterator I,
 1720 ARMBaseInstrInfo::duplicate(MachineBasicBlock &MBB,
 1721     MachineBasicBlock::iterator InsertBefore,
 1724   MachineBasicBlock::instr_iterator I = Cloned.getIterator();
 1950                                             const MachineBasicBlock *MBB,
 1971   MachineBasicBlock::const_iterator I = MI;
 1993 isProfitableToIfCvt(MachineBasicBlock &MBB,
 2003     MachineBasicBlock *Pred = *MBB.pred_begin();
 2019 isProfitableToIfCvt(MachineBasicBlock &TBB,
 2021                     MachineBasicBlock &FBB,
 2115 ARMBaseInstrInfo::isProfitableToUnpredicate(MachineBasicBlock &TMBB,
 2116                                             MachineBasicBlock &FMBB) const {
 2357 void llvm::emitARMRegPlusImmediate(MachineBasicBlock &MBB,
 2358                                    MachineBasicBlock::iterator &MBBI,
 2488         MachineBasicBlock::LQR_Dead) {
 2931   MachineBasicBlock::iterator I = CmpInstr, E = MI,
 3156     MachineBasicBlock *MBB = CmpInstr.getParent();
 3157     for (MachineBasicBlock::succ_iterator SI = MBB->succ_begin(),
 3189   MachineBasicBlock::const_iterator Next = &MI;
 4025   MachineBasicBlock::const_iterator I = MI; ++I;
 4026   MachineBasicBlock::const_instr_iterator II = std::prev(I.getInstrIterator());
 4048   MachineBasicBlock::const_instr_iterator II = ++MI.getIterator();
 4050   MachineBasicBlock::const_instr_iterator E = MI.getParent()->instr_end();
 4636     MachineBasicBlock::const_instr_iterator I = MI.getIterator();
 4637     MachineBasicBlock::const_instr_iterator E = MI.getParent()->instr_end();
 4767 void ARMBaseInstrInfo::expandLoadStackGuardBase(MachineBasicBlock::iterator MI,
 4773   MachineBasicBlock &MBB = *MI->getParent();
 4914   MachineBasicBlock::LivenessQueryResult LQR =
 4917   if (LQR == MachineBasicBlock::LQR_Live)
 4919   else if (LQR == MachineBasicBlock::LQR_Unknown)
 5354                                   MachineBasicBlock::iterator From,
 5368   MachineBasicBlock::iterator CmpMI = Br;
lib/Target/ARM/ARMBaseInstrInfo.h
   42   void expandLoadStackGuardBase(MachineBasicBlock::iterator MI,
  133   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  133   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  134                      MachineBasicBlock *&FBB,
  137   unsigned removeBranch(MachineBasicBlock &MBB,
  139   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  139   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  140                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  198   void copyToCPSR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  198   void copyToCPSR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  201   void copyFromCPSR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  201   void copyFromCPSR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  205   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  205   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  209   void storeRegToStackSlot(MachineBasicBlock &MBB,
  210                            MachineBasicBlock::iterator MBBI,
  215   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  216                             MachineBasicBlock::iterator MBBI,
  225   void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  225   void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  231   duplicate(MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  231   duplicate(MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  262                             const MachineBasicBlock *MBB,
  265   bool isProfitableToIfCvt(MachineBasicBlock &MBB,
  269   bool isProfitableToIfCvt(MachineBasicBlock &TMBB, unsigned NumT,
  270                            unsigned ExtraT, MachineBasicBlock &FMBB,
  274   bool isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  283   bool isProfitableToUnpredicate(MachineBasicBlock &TMBB,
  284                                  MachineBasicBlock &FMBB) const override;
  401   virtual void expandLoadStackGuard(MachineBasicBlock::iterator MI) const = 0;
  403   void expandMEMCPY(MachineBasicBlock::iterator) const;
  568 void emitARMRegPlusImmediate(MachineBasicBlock &MBB,
  569                              MachineBasicBlock::iterator &MBBI,
  575 void emitT2RegPlusImmediate(MachineBasicBlock &MBB,
  576                             MachineBasicBlock::iterator &MBBI,
  581 void emitThumbRegPlusImmediate(MachineBasicBlock &MBB,
  582                                MachineBasicBlock::iterator &MBBI,
  612 bool registerDefinedBetween(unsigned Reg, MachineBasicBlock::iterator From,
lib/Target/ARM/ARMBaseRegisterInfo.cpp
  459     MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  459     MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  630 materializeFrameBaseRegister(MachineBasicBlock *MBB,
  637   MachineBasicBlock::iterator Ins = MBB->begin();
  657   MachineBasicBlock &MBB = *MI.getParent();
  749 ARMBaseRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  753   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/ARM/ARMBaseRegisterInfo.h
  168   void materializeFrameBaseRegister(MachineBasicBlock *MBB,
  186   emitLoadConstPool(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  186   emitLoadConstPool(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  201   void eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/ARM/ARMBasicBlockInfo.cpp
   47 void ARMBasicBlockUtils::computeBlockSize(MachineBasicBlock *MBB) {
   76   const MachineBasicBlock *MBB = MI->getParent();
   84   for (MachineBasicBlock::const_iterator I = MBB->begin(); &*I != MI; ++I) {
   94                                      MachineBasicBlock *DestBB,
  117 void ARMBasicBlockUtils::adjustBBOffsetsAfter(MachineBasicBlock *BB) {
lib/Target/ARM/ARMBasicBlockInfo.h
  126     for (MachineBasicBlock &MBB : MF)
  130   void computeBlockSize(MachineBasicBlock *MBB);
  134   unsigned getOffsetOf(MachineBasicBlock *MBB) const {
  138   void adjustBBOffsetsAfter(MachineBasicBlock *MBB);
  140   void adjustBBSize(MachineBasicBlock *MBB, int Size) {
  144   bool isBBInRange(MachineInstr *MI, MachineBasicBlock *DestBB,
lib/Target/ARM/ARMCallLowering.cpp
  433   auto &MBB = MIRBuilder.getMBB();
lib/Target/ARM/ARMConstantIslandPass.cpp
  108     std::vector<MachineBasicBlock*> WaterList;
  112     SmallSet<MachineBasicBlock*, 4> NewWaterList;
  114     using water_iterator = std::vector<MachineBasicBlock *>::iterator;
  131       MachineBasicBlock *HighWaterMark;
  248     bool BBHasFallthrough(MachineBasicBlock *MBB);
  253     MachineBasicBlock *splitBlockBeforeInstr(MachineInstr *MI);
  254     void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
  261                         MachineBasicBlock *&NewMBB);
  268     bool isWaterInRange(unsigned UserOffset, MachineBasicBlock *Water,
  281     MachineBasicBlock *adjustJTTargetBlockForward(MachineBasicBlock *BB,
  281     MachineBasicBlock *adjustJTTargetBlockForward(MachineBasicBlock *BB,
  282                                                   MachineBasicBlock *JTBB);
  493   MachineBasicBlock *BB = MF->CreateMachineBasicBlock();
  511   SmallVector<MachineBasicBlock::iterator, 8> InsPoint(MaxLogAlign + 1,
  529     MachineBasicBlock::iterator InsAt = InsPoint[LogAlign];
  561   MachineBasicBlock *LastCorrectlyNumberedBB = nullptr;
  562   for (MachineBasicBlock &MBB : *MF) {
  596     MachineBasicBlock *JumpTableBB = MF->CreateMachineBasicBlock();
  617 bool ARMConstantIslands::BBHasFallthrough(MachineBasicBlock *MBB) {
  624   MachineBasicBlock *NextBB = &*std::next(MBBI);
  630   MachineBasicBlock *TBB, *FBB;
  678   for (MachineBasicBlock &MBB : *MF) {
  702   for (MachineBasicBlock &MBB : *MF) {
  861 static bool CompareMBBNumbers(const MachineBasicBlock *LHS,
  862                               const MachineBasicBlock *RHS) {
  869 void ARMConstantIslands::updateForInsertedWaterBlock(MachineBasicBlock *NewBB) {
  886 MachineBasicBlock *ARMConstantIslands::splitBlockBeforeInstr(MachineInstr *MI) {
  887   MachineBasicBlock *OrigBB = MI->getParent();
  897   MachineBasicBlock *NewBB =
  944   MachineBasicBlock* WaterBB = *IP;
 1021                                         MachineBasicBlock* Water, CPUser &U,
 1087 static bool BBIsJumpedOver(MachineBasicBlock *MBB) {
 1091   MachineBasicBlock *Succ = *MBB->succ_begin();
 1092   MachineBasicBlock *Pred = *MBB->pred_begin();
 1215   MachineBasicBlock *UserBB = U.MI->getParent();
 1223     MachineBasicBlock* WaterBB = *IP;
 1267                                         MachineBasicBlock *&NewMBB) {
 1272   MachineBasicBlock *UserMBB = UserMI->getParent();
 1365     MachineBasicBlock::iterator I = UserMI;
 1380   MachineBasicBlock::iterator MI = UserMI;
 1468   MachineBasicBlock *NewIsland = MF->CreateMachineBasicBlock();
 1469   MachineBasicBlock *NewMBB;
 1473     MachineBasicBlock *WaterBB = *IP;
 1493     MachineBasicBlock *WaterBB = &*--NewMBB->getIterator();
 1559   MachineBasicBlock *CPEBB = CPEMI->getParent();
 1605   MachineBasicBlock *DestBB = MI->getOperand(0).getMBB();
 1623   MachineBasicBlock *MBB = MI->getParent();
 1650   MachineBasicBlock *DestBB = MI->getOperand(0).getMBB();
 1666   MachineBasicBlock *MBB = MI->getParent();
 1681       MachineBasicBlock *NewDest = BMI->getOperand(0).getMBB();
 1709   MachineBasicBlock *NextBB = &*++MBB->getIterator();
 1808       MachineBasicBlock *MBB = U.MI->getParent();
 1842       MachineBasicBlock *DestBB = Br.MI->getOperand(0).getMBB();
 1846         MachineBasicBlock *MBB = Br.MI->getParent();
 1905     MachineBasicBlock *MBB = Br.MI->getParent();
 1906     MachineBasicBlock *DestBB = Br.MI->getOperand(0).getMBB();
 1935     MachineBasicBlock *DestBB = Br.MI->getOperand(0).getMBB();
 1936     MachineBasicBlock *MBB = Br.MI->getParent();
 1937     MachineBasicBlock *ExitBB = &MBB->back() == Br.MI ?
 1959     MachineBasicBlock::iterator KillMI = Br.MI;
 2053   MachineBasicBlock::iterator I(LEAMI);
 2128   MachineBasicBlock::iterator I(LEAMI);
 2138   MachineBasicBlock::iterator J(RemovableAdd);
 2179     const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
 2182       MachineBasicBlock *MBB = JTBBs[j];
 2199     MachineBasicBlock *MBB = MI->getParent();
 2294     MachineBasicBlock::iterator MI_JT = MI;
 2374     const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
 2376       MachineBasicBlock *MBB = JTBBs[j];
 2382         MachineBasicBlock *NewBB =
 2394 MachineBasicBlock *ARMConstantIslands::
 2395 adjustJTTargetBlockForward(MachineBasicBlock *BB, MachineBasicBlock *JTBB) {
 2395 adjustJTTargetBlockForward(MachineBasicBlock *BB, MachineBasicBlock *JTBB) {
 2400   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 2424   MachineBasicBlock *NewBB =
 2430   for (const MachineBasicBlock::RegisterMaskPair &RegMaskPair : BB->liveins())
lib/Target/ARM/ARMConstantPoolValue.cpp
  264                                        const MachineBasicBlock *mbb,
  273                                                const MachineBasicBlock *mbb,
lib/Target/ARM/ARMConstantPoolValue.h
  248   const MachineBasicBlock *MBB; // Machine basic block.
  250   ARMConstantPoolMBB(LLVMContext &C, const MachineBasicBlock *mbb, unsigned id,
  256                                     const MachineBasicBlock *mbb,
  259   const MachineBasicBlock *getMBB() const { return MBB; }
lib/Target/ARM/ARMExpandPseudoInsts.cpp
   63     bool ExpandMI(MachineBasicBlock &MBB,
   64                   MachineBasicBlock::iterator MBBI,
   66     bool ExpandMBB(MachineBasicBlock &MBB);
   67     void ExpandVLD(MachineBasicBlock::iterator &MBBI);
   68     void ExpandVST(MachineBasicBlock::iterator &MBBI);
   69     void ExpandLaneOp(MachineBasicBlock::iterator &MBBI);
   70     void ExpandVTBL(MachineBasicBlock::iterator &MBBI,
   72     void ExpandMOV32BitImm(MachineBasicBlock &MBB,
   73                            MachineBasicBlock::iterator &MBBI);
   74     bool ExpandCMP_SWAP(MachineBasicBlock &MBB,
   75                         MachineBasicBlock::iterator MBBI, unsigned LdrexOp,
   79     bool ExpandCMP_SWAP_64(MachineBasicBlock &MBB,
   80                            MachineBasicBlock::iterator MBBI,
  469 void ARMExpandPseudo::ExpandVLD(MachineBasicBlock::iterator &MBBI) {
  471   MachineBasicBlock &MBB = *MI.getParent();
  580 void ARMExpandPseudo::ExpandVST(MachineBasicBlock::iterator &MBBI) {
  582   MachineBasicBlock &MBB = *MI.getParent();
  656 void ARMExpandPseudo::ExpandLaneOp(MachineBasicBlock::iterator &MBBI) {
  658   MachineBasicBlock &MBB = *MI.getParent();
  746 void ARMExpandPseudo::ExpandVTBL(MachineBasicBlock::iterator &MBBI,
  749   MachineBasicBlock &MBB = *MI.getParent();
  826 void ARMExpandPseudo::ExpandMOV32BitImm(MachineBasicBlock &MBB,
  827                                         MachineBasicBlock::iterator &MBBI) {
  927 bool ARMExpandPseudo::ExpandCMP_SWAP(MachineBasicBlock &MBB,
  928                                      MachineBasicBlock::iterator MBBI,
 1048 bool ARMExpandPseudo::ExpandCMP_SWAP_64(MachineBasicBlock &MBB,
 1049                                         MachineBasicBlock::iterator MBBI,
 1153 bool ARMExpandPseudo::ExpandMI(MachineBasicBlock &MBB,
 1154                                MachineBasicBlock::iterator MBBI,
 1164       MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
 1957 bool ARMExpandPseudo::ExpandMBB(MachineBasicBlock &MBB) {
 1960   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
 1962     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
 1980   for (MachineBasicBlock &MBB : MF)
lib/Target/ARM/ARMFastISel.cpp
 1239   MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)];
 1240   MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)];
 1298     MachineBasicBlock *Target = (Imm == 0) ? FBB : TBB;
 2943   MachineBasicBlock::iterator I(MI);
lib/Target/ARM/ARMFrameLowering.cpp
   74 static MachineBasicBlock::iterator
  167     bool isARM, MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  167     bool isARM, MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  179 static void emitSPUpdate(bool isARM, MachineBasicBlock &MBB,
  180                          MachineBasicBlock::iterator &MBBI, const DebugLoc &dl,
  231     MachineBasicBlock::iterator I;
  238   void addInst(MachineBasicBlock::iterator I, unsigned SPAdjust,
  244   void addExtraBytes(const MachineBasicBlock::iterator I, unsigned ExtraBytes) {
  251   void emitDefCFAOffsets(MachineBasicBlock &MBB, const DebugLoc &dl,
  281                                      MachineBasicBlock &MBB,
  282                                      MachineBasicBlock::iterator MBBI,
  357                                     MachineBasicBlock &MBB) const {
  358   MachineBasicBlock::iterator MBBI = MBB.begin();
  452   MachineBasicBlock::iterator LastPush = MBB.end(), GPRCS1Push, GPRCS2Push;
  595     MachineBasicBlock::iterator AfterPush = std::next(GPRCS1Push);
  622     MachineBasicBlock::iterator Pos = std::next(GPRCS1Push);
  656     MachineBasicBlock::iterator Pos = std::next(GPRCS2Push);
  683     MachineBasicBlock::iterator Pos = std::next(LastPush);
  771                                     MachineBasicBlock &MBB) const {
  791   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
  970 void ARMFrameLowering::emitPushInst(MachineBasicBlock &MBB,
  971                                     MachineBasicBlock::iterator MI,
 1048 void ARMFrameLowering::emitPopInst(MachineBasicBlock &MBB,
 1049                                    MachineBasicBlock::iterator MI,
 1162 static void emitAlignedDPRCS2Spills(MachineBasicBlock &MBB,
 1163                                     MachineBasicBlock::iterator MI,
 1304 static MachineBasicBlock::iterator
 1335 static void emitAlignedDPRCS2Restores(MachineBasicBlock &MBB,
 1336                                       MachineBasicBlock::iterator MI,
 1425 bool ARMFrameLowering::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
 1426                                         MachineBasicBlock::iterator MI,
 1456 bool ARMFrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
 1457                                         MachineBasicBlock::iterator MI,
 1513   for (auto &MBB : MF) {
 2145 MachineBasicBlock::iterator ARMFrameLowering::eliminateCallFramePseudoInstr(
 2246     MachineFunction &MF, MachineBasicBlock &PrologueMBB) const {
 2288   MachineBasicBlock *PrevStackMBB = MF.CreateMachineBasicBlock();
 2289   MachineBasicBlock *PostStackMBB = MF.CreateMachineBasicBlock();
 2290   MachineBasicBlock *AllocMBB = MF.CreateMachineBasicBlock();
 2291   MachineBasicBlock *GetMBB = MF.CreateMachineBasicBlock();
 2292   MachineBasicBlock *McrMBB = MF.CreateMachineBasicBlock();
 2295   SmallPtrSet<MachineBasicBlock *, 8> BeforePrologueRegion;
 2296   SmallVector<MachineBasicBlock *, 2> WalkList;
 2300     MachineBasicBlock *CurMBB = WalkList.pop_back_val();
 2301     for (MachineBasicBlock *PredBB : CurMBB->predecessors()) {
 2311   MachineBasicBlock *AddedBlocks[] = {PrevStackMBB, McrMBB, GetMBB, AllocMBB,
 2314   for (MachineBasicBlock *B : AddedBlocks)
 2318     for (MachineBasicBlock *PredBB : BeforePrologueRegion)
 2324   for (MachineBasicBlock *B : AddedBlocks) {
 2329   for (MachineBasicBlock *MBB : BeforePrologueRegion) {
lib/Target/ARM/ARMFrameLowering.h
   31   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   32   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   34   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   35                                  MachineBasicBlock::iterator MI,
   39   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   40                                   MachineBasicBlock::iterator MI,
   62                                 MachineBasicBlock &MBB) const override;
   75   void emitPushInst(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   75   void emitPushInst(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   80   void emitPopInst(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   80   void emitPopInst(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   86   MachineBasicBlock::iterator
lib/Target/ARM/ARMHazardRecognizer.cpp
   54         MachineBasicBlock::iterator I = LastMI;
lib/Target/ARM/ARMISelLowering.cpp
 9337                                                MachineBasicBlock *MBB,
 9338                                                MachineBasicBlock *DispatchBB,
 9465                                               MachineBasicBlock *MBB) const {
 9478   DenseMap<unsigned, SmallVector<MachineBasicBlock*, 2>> CallSiteNumToLPad;
 9486     for (MachineBasicBlock::iterator
 9505   std::vector<MachineBasicBlock*> LPadList;
 9506   SmallPtrSet<MachineBasicBlock*, 32> InvokeBBs;
 9509     SmallVectorImpl<MachineBasicBlock*> &MBBList = CallSiteNumToLPad[I];
 9510     for (SmallVectorImpl<MachineBasicBlock*>::iterator
 9528   MachineBasicBlock *DispatchBB = MF->CreateMachineBasicBlock();
 9531   MachineBasicBlock *TrapBB = MF->CreateMachineBasicBlock();
 9541   MachineBasicBlock *DispContBB = MF->CreateMachineBasicBlock();
 9803   SmallPtrSet<MachineBasicBlock*, 8> SeenMBBs;
 9804   for (std::vector<MachineBasicBlock*>::iterator
 9806     MachineBasicBlock *CurMBB = *I;
 9813   SmallVector<MachineBasicBlock*, 64> MBBLPads;
 9814   for (MachineBasicBlock *BB : InvokeBBs) {
 9818     SmallVector<MachineBasicBlock*, 4> Successors(BB->succ_begin(),
 9821       MachineBasicBlock *SMBB = Successors.pop_back_val();
 9835     for (MachineBasicBlock::reverse_iterator
 9869   for (SmallVectorImpl<MachineBasicBlock*>::iterator
 9878 MachineBasicBlock *OtherSucc(MachineBasicBlock *MBB, MachineBasicBlock *Succ) {
 9878 MachineBasicBlock *OtherSucc(MachineBasicBlock *MBB, MachineBasicBlock *Succ) {
 9878 MachineBasicBlock *OtherSucc(MachineBasicBlock *MBB, MachineBasicBlock *Succ) {
 9879   for (MachineBasicBlock::succ_iterator I = MBB->succ_begin(),
 9926 static void emitPostLd(MachineBasicBlock *BB, MachineBasicBlock::iterator Pos,
 9926 static void emitPostLd(MachineBasicBlock *BB, MachineBasicBlock::iterator Pos,
 9967 static void emitPostSt(MachineBasicBlock *BB, MachineBasicBlock::iterator Pos,
 9967 static void emitPostSt(MachineBasicBlock *BB, MachineBasicBlock::iterator Pos,
10007 MachineBasicBlock *
10009                                    MachineBasicBlock *BB) const {
10118   MachineBasicBlock *loopMBB = MF->CreateMachineBasicBlock(LLVM_BB);
10119   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
10177   MachineBasicBlock *entryBB = BB;
10254 MachineBasicBlock *
10256                                        MachineBasicBlock *MBB) const {
10329 MachineBasicBlock *
10331                                        MachineBasicBlock *MBB) const {
10336   MachineBasicBlock *ContBB = MF->CreateMachineBasicBlock();
10343   MachineBasicBlock *TrapBB = MF->CreateMachineBasicBlock();
10366 static bool checkAndUpdateCPSRKill(MachineBasicBlock::iterator SelectItr,
10370   MachineBasicBlock::iterator miI(std::next(SelectItr));
10371   for (MachineBasicBlock::iterator miE = BB->end(); miI != miE; ++miI) {
10382     for (MachineBasicBlock::succ_iterator sItr = BB->succ_begin(),
10385       MachineBasicBlock* succ = *sItr;
10397 MachineBasicBlock *
10399                                                MachineBasicBlock *BB) const {
10490     MachineBasicBlock *thisMBB  = BB;
10492     MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
10493     MachineBasicBlock *sinkMBB  = F->CreateMachineBasicBlock(LLVM_BB);
10571     MachineBasicBlock *destMBB = MI.getOperand(RHSisZero ? 3 : 5).getMBB();
10572     MachineBasicBlock *exitMBB = OtherSucc(BB, destMBB);
10617     MachineBasicBlock *RSBBB = Fn->CreateMachineBasicBlock(LLVM_BB);
10618     MachineBasicBlock *SinkBB  = Fn->CreateMachineBasicBlock(LLVM_BB);
17089 void ARMTargetLowering::initializeSplitCSR(MachineBasicBlock *Entry) const {
17096     MachineBasicBlock *Entry,
17097     const SmallVectorImpl<MachineBasicBlock *> &Exits) const {
17105   MachineBasicBlock::iterator MBBI = Entry->begin();
17129     for (auto *Exit : Exits)
lib/Target/ARM/ARMISelLowering.h
  324     MachineBasicBlock *
  326                                 MachineBasicBlock *MBB) const override;
  766     void initializeSplitCSR(MachineBasicBlock *Entry) const override;
  768       MachineBasicBlock *Entry,
  769       const SmallVectorImpl<MachineBasicBlock *> &Exits) const override;
  833     void SetupEntryBlockForSjLj(MachineInstr &MI, MachineBasicBlock *MBB,
  834                                 MachineBasicBlock *DispatchBB, int FI) const;
  836     void EmitSjLjDispatchBlock(MachineInstr &MI, MachineBasicBlock *MBB) const;
  838     bool RemapAddSubWithFlags(MachineInstr &MI, MachineBasicBlock *BB) const;
  840     MachineBasicBlock *EmitStructByval(MachineInstr &MI,
  841                                        MachineBasicBlock *MBB) const;
  843     MachineBasicBlock *EmitLowered__chkstk(MachineInstr &MI,
  844                                            MachineBasicBlock *MBB) const;
  845     MachineBasicBlock *EmitLowered__dbzchk(MachineInstr &MI,
  846                                            MachineBasicBlock *MBB) const;
lib/Target/ARM/ARMInstrInfo.cpp
   92 void ARMInstrInfo::expandLoadStackGuard(MachineBasicBlock::iterator MI) const {
  118   MachineBasicBlock &MBB = *MI->getParent();
lib/Target/ARM/ARMInstrInfo.h
   41   void expandLoadStackGuard(MachineBasicBlock::iterator MI) const override;
lib/Target/ARM/ARMInstructionSelector.cpp
  486   MachineBasicBlock &MBB;
  487   const MachineBasicBlock::instr_iterator InsertBefore;
  621   auto &MBB = *MIB->getParent();
  768   auto &MBB = *MIB->getParent();
  840   auto &MBB = *I.getParent();
lib/Target/ARM/ARMLoadStoreOptimizer.cpp
  110     MachineBasicBlock::const_iterator LiveRegPos;
  165     void moveLiveRegsBefore(const MachineBasicBlock &MBB,
  166                             MachineBasicBlock::const_iterator Before);
  168     void UpdateBaseRegUses(MachineBasicBlock &MBB,
  169                            MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
  173         MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  173         MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  179         MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  179         MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  186     bool FixInvalidRegPairOp(MachineBasicBlock &MBB,
  187                              MachineBasicBlock::iterator &MBBI);
  191     bool LoadStoreMultipleOpti(MachineBasicBlock &MBB);
  192     bool MergeReturnIntoLDM(MachineBasicBlock &MBB);
  193     bool CombineMovBx(MachineBasicBlock &MBB);
  481 void ARMLoadStoreOpt::UpdateBaseRegUses(MachineBasicBlock &MBB,
  482                                         MachineBasicBlock::iterator MBBI,
  596 void ARMLoadStoreOpt::moveLiveRegsBefore(const MachineBasicBlock &MBB,
  597     MachineBasicBlock::const_iterator Before) {
  624     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  624     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  636      MachineBasicBlock::LQR_Dead);
  826     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  826     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore,
  890   using iterator = MachineBasicBlock::iterator;
  894   MachineBasicBlock &MBB = *LatestMI->getParent();
 1210 static MachineBasicBlock::iterator
 1214   MachineBasicBlock &MBB = *MBBI->getParent();
 1215   MachineBasicBlock::iterator BeginMBBI = MBB.begin();
 1216   MachineBasicBlock::iterator EndMBBI = MBB.end();
 1221   MachineBasicBlock::iterator PrevMBBI = std::prev(MBBI);
 1230 static MachineBasicBlock::iterator
 1234   MachineBasicBlock &MBB = *MBBI->getParent();
 1235   MachineBasicBlock::iterator EndMBBI = MBB.end();
 1236   MachineBasicBlock::iterator NextMBBI = std::next(MBBI);
 1278   MachineBasicBlock &MBB = *MI->getParent();
 1279   MachineBasicBlock::iterator MBBI(MI);
 1281   MachineBasicBlock::iterator MergeInstr
 1411   MachineBasicBlock &MBB = *MI->getParent();
 1412   MachineBasicBlock::iterator MBBI(MI);
 1414   MachineBasicBlock::iterator MergeInstr
 1523   MachineBasicBlock::iterator MBBI(MI);
 1524   MachineBasicBlock &MBB = *MI.getParent();
 1526   MachineBasicBlock::iterator MergeInstr = findIncDecBefore(MBBI, Base, Pred,
 1620 static void InsertLDR_STR(MachineBasicBlock &MBB,
 1621                           MachineBasicBlock::iterator &MBBI, int Offset,
 1648 bool ARMLoadStoreOpt::FixInvalidRegPairOp(MachineBasicBlock &MBB,
 1649                                           MachineBasicBlock::iterator &MBBI) {
 1765 bool ARMLoadStoreOpt::LoadStoreMultipleOpti(MachineBasicBlock &MBB) {
 1775   for (MachineBasicBlock::iterator I = MBB.end(), MBBI; I != MBB.begin();
 1924 bool ARMLoadStoreOpt::MergeReturnIntoLDM(MachineBasicBlock &MBB) {
 1929   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
 1934     MachineBasicBlock::iterator PrevI = std::prev(MBBI);
 1970 bool ARMLoadStoreOpt::CombineMovBx(MachineBasicBlock &MBB) {
 1971   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
 1976   MachineBasicBlock::iterator Prev = MBBI;
 2014     MachineBasicBlock &MBB = *MFI;
 2064     bool RescheduleOps(MachineBasicBlock *MBB,
 2068     bool RescheduleLoadStoreInstrs(MachineBasicBlock *MBB);
 2096   for (MachineBasicBlock &MFI : Fn)
 2103                                       MachineBasicBlock::iterator I,
 2215 bool ARMPreAllocLoadStoreOpt::RescheduleOps(MachineBasicBlock *MBB,
 2300         MachineBasicBlock::iterator InsertPos = isLd ? FirstOp : LastOp;
 2383 ARMPreAllocLoadStoreOpt::RescheduleLoadStoreInstrs(MachineBasicBlock *MBB) {
 2396   MachineBasicBlock::iterator MBBI = MBB->begin();
 2397   MachineBasicBlock::iterator E = MBB->end();
lib/Target/ARM/ARMLowOverheadLoops.cpp
  132                                   MachineBasicBlock::iterator End,
  156   MachineBasicBlock *MBB = Start->getParent();
  175     MachineBasicBlock::iterator End(SuccLRDef);
  182     MachineBasicBlock::reverse_iterator End(PredLRDef);
  225   std::function<MachineInstr*(MachineBasicBlock*)> SearchForStart =
  245   if (auto *Preheader = ML->getLoopPreheader()) {
  250     MachineBasicBlock *Pred = nullptr;
  251     for (auto *MBB : ML->getHeader()->predecessors()) {
  266   for (auto *MBB : reverse(ML->getBlocks())) {
  361   MachineBasicBlock *MBB = MI->getParent();
  369   MachineBasicBlock *DestBB = MI->getOperand(1).getMBB();
  383   MachineBasicBlock *MBB = MI->getParent();
  417   MachineBasicBlock *MBB = MI->getParent();
  428   MachineBasicBlock *DestBB = MI->getOperand(1).getMBB();
  448     MachineBasicBlock *MBB = InsertPt->getParent();
  469     MachineBasicBlock *MBB = End->getParent();
  488     MachineBasicBlock *BB = I->getParent();
  491       MachineBasicBlock *Succ = Terminator->getOperand(0).getMBB();
  518   for (auto &MBB : *MF) {
lib/Target/ARM/ARMMachineFunctionInfo.h
  122   DenseMap<const MachineBasicBlock*, unsigned> CoalescedWeights;
  229   DenseMap<const MachineBasicBlock*, unsigned>::iterator getCoalescedWeight(
lib/Target/ARM/ARMOptimizeBarriersPass.cpp
   62   for (auto &MBB : MF) {
lib/Target/ARM/MLxExpansionPass.cpp
   67     void ExpandFPMLxInstruction(MachineBasicBlock &MBB, MachineInstr *MI,
   70     bool ExpandFPMLxInstructions(MachineBasicBlock &MBB);
   93   MachineBasicBlock *MBB = MI->getParent();
  121   MachineBasicBlock *MBB = MI->getParent();
  145   MachineBasicBlock *MBB = MI->getParent();
  269 MLxExpansion::ExpandFPMLxInstruction(MachineBasicBlock &MBB, MachineInstr *MI,
  325 bool MLxExpansion::ExpandFPMLxInstructions(MachineBasicBlock &MBB) {
  332   MachineBasicBlock::reverse_iterator MII = MBB.rbegin(), E = MBB.rend();
  384   for (MachineBasicBlock &MBB : Fn)
lib/Target/ARM/MVEVPTBlockPass.cpp
   57     bool InsertVPTBlocks(MachineBasicBlock &MBB);
  137 static MachineInstr *findVCMPToFoldIntoVPST(MachineBasicBlock::iterator MI,
  143   MachineBasicBlock::iterator CmpMI = MI;
  168 bool MVEVPTBlock::InsertVPTBlocks(MachineBasicBlock &Block) {
  170   MachineBasicBlock::instr_iterator MBIter = Block.instr_begin();
  171   MachineBasicBlock::instr_iterator EndIter = Block.instr_end();
  269   for (MachineBasicBlock &MBB : Fn)
lib/Target/ARM/Thumb1FrameLowering.cpp
   67 emitPrologueEpilogueSPUpdate(MachineBasicBlock &MBB,
   68                              MachineBasicBlock::iterator &MBBI,
  102 static void emitCallSPUpdate(MachineBasicBlock &MBB,
  103                              MachineBasicBlock::iterator &MBBI,
  112 MachineBasicBlock::iterator Thumb1FrameLowering::
  146                                        MachineBasicBlock &MBB) const {
  147   MachineBasicBlock::iterator MBBI = MBB.begin();
  333     MachineBasicBlock::iterator OldMBBI = MBBI;
  471                                    MachineBasicBlock &MBB) const {
  472   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
  541         MachineBasicBlock::iterator PMBBI = std::prev(MBBI);
  558 bool Thumb1FrameLowering::canUseAsEpilogue(const MachineBasicBlock &MBB) const {
  562   MachineBasicBlock *TmpMBB = const_cast<MachineBasicBlock *>(&MBB);
  600 bool Thumb1FrameLowering::emitPopSpecialFixUp(MachineBasicBlock &MBB,
  808 spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  809                           MachineBasicBlock::iterator MI,
  931 restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  932                             MachineBasicBlock::iterator MI,
lib/Target/ARM/Thumb1FrameLowering.h
   25   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   26   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   28   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   29                                  MachineBasicBlock::iterator MI,
   32   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   33                                   MachineBasicBlock::iterator MI,
   39   MachineBasicBlock::iterator
   49   bool canUseAsEpilogue(const MachineBasicBlock &MBB) const override;
   83   bool emitPopSpecialFixUp(MachineBasicBlock &MBB, bool DoIt) const;
lib/Target/ARM/Thumb1InstrInfo.cpp
   38 void Thumb1InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   39                                   MachineBasicBlock::iterator I,
   60         == MachineBasicBlock::LQR_Dead) {
   78 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   78 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  106 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  106 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  134     MachineBasicBlock::iterator MI) const {
lib/Target/ARM/Thumb1InstrInfo.h
   40   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   40   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   43   void storeRegToStackSlot(MachineBasicBlock &MBB,
   44                            MachineBasicBlock::iterator MBBI,
   49   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   50                             MachineBasicBlock::iterator MBBI,
   57   void expandLoadStackGuard(MachineBasicBlock::iterator MI) const override;
lib/Target/ARM/Thumb2ITBlockPass.cpp
   69     bool InsertITInstructions(MachineBasicBlock &Block);
  178   MachineBasicBlock::iterator I = MI;
  180   MachineBasicBlock::iterator E = MI->getParent()->end();
  194 bool Thumb2ITBlock::InsertITInstructions(MachineBasicBlock &MBB) {
  197   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  222     MachineBasicBlock::iterator InsertPos = MIB.getInstr();
  299   for (auto &MBB : Fn )
lib/Target/ARM/Thumb2InstrInfo.cpp
   58 Thumb2InstrInfo::ReplaceTailWithBranchTo(MachineBasicBlock::iterator Tail,
   60   MachineBasicBlock *MBB = Tail->getParent();
   71   MachineBasicBlock::iterator MBBI = Tail;
   81     MachineBasicBlock::iterator E = MBB->begin();
  109 Thumb2InstrInfo::isLegalToSplitMBBAt(MachineBasicBlock &MBB,
  110                                      MachineBasicBlock::iterator MBBI) const {
  121 void Thumb2InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  122                                   MachineBasicBlock::iterator I,
  135 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  135 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  178 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  178 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  222     MachineBasicBlock::iterator MI) const {
  230 void llvm::emitT2RegPlusImmediate(MachineBasicBlock &MBB,
  231                                   MachineBasicBlock::iterator &MBBI,
lib/Target/ARM/Thumb2InstrInfo.h
   35   void ReplaceTailWithBranchTo(MachineBasicBlock::iterator Tail,
   38   bool isLegalToSplitMBBAt(MachineBasicBlock &MBB,
   39                            MachineBasicBlock::iterator MBBI) const override;
   41   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   41   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   45   void storeRegToStackSlot(MachineBasicBlock &MBB,
   46                            MachineBasicBlock::iterator MBBI,
   51   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   52                             MachineBasicBlock::iterator MBBI,
   64   void expandLoadStackGuard(MachineBasicBlock::iterator MI) const override;
lib/Target/ARM/Thumb2SizeReduction.cpp
  189     bool ReduceLoadStore(MachineBasicBlock &MBB, MachineInstr *MI,
  192     bool ReduceSpecial(MachineBasicBlock &MBB, MachineInstr *MI,
  197     bool ReduceTo2Addr(MachineBasicBlock &MBB, MachineInstr *MI,
  203     bool ReduceToNarrow(MachineBasicBlock &MBB, MachineInstr *MI,
  208     bool ReduceMI(MachineBasicBlock &MBB, MachineInstr *MI,
  212     bool ReduceMBB(MachineBasicBlock &MBB);
  404 Thumb2SizeReduce::ReduceLoadStore(MachineBasicBlock &MBB, MachineInstr *MI,
  622 Thumb2SizeReduce::ReduceSpecial(MachineBasicBlock &MBB, MachineInstr *MI,
  735 Thumb2SizeReduce::ReduceTo2Addr(MachineBasicBlock &MBB, MachineInstr *MI,
  850 Thumb2SizeReduce::ReduceToNarrow(MachineBasicBlock &MBB, MachineInstr *MI,
 1004 bool Thumb2SizeReduce::ReduceMI(MachineBasicBlock &MBB, MachineInstr *MI,
 1029 bool Thumb2SizeReduce::ReduceMBB(MachineBasicBlock &MBB) {
 1040   for (auto *Pred : MBB.predecessors()) {
 1055   MachineBasicBlock::instr_iterator MII = MBB.instr_begin(),E = MBB.instr_end();
 1056   MachineBasicBlock::instr_iterator NextMII;
 1075       MachineBasicBlock::instr_iterator I = std::prev(NextMII);
lib/Target/ARM/ThumbRegisterInfo.cpp
   61 static void emitThumb1LoadConstPool(MachineBasicBlock &MBB,
   62                                     MachineBasicBlock::iterator &MBBI,
   81 static void emitThumb2LoadConstPool(MachineBasicBlock &MBB,
   82                                     MachineBasicBlock::iterator &MBBI,
  104     MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  104     MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  125     MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  125     MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  186 void llvm::emitThumbRegPlusImmediate(MachineBasicBlock &MBB,
  187                                      MachineBasicBlock::iterator &MBBI,
  359 bool ThumbRegisterInfo::rewriteFrameIndex(MachineBasicBlock::iterator II,
  364   MachineBasicBlock &MBB = *MI.getParent();
  450 void ThumbRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  454   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/ARM/ThumbRegisterInfo.h
   40   emitLoadConstPool(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
   40   emitLoadConstPool(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
   49   bool rewriteFrameIndex(MachineBasicBlock::iterator II, unsigned FrameRegIdx,
   54   void eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/AVR/AVRExpandPseudoInsts.cpp
   47   typedef MachineBasicBlock Block;
   97 bool AVRExpandPseudo::expandMBB(MachineBasicBlock &MBB) {
  864   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/AVR/AVRFrameLowering.cpp
   54                                     MachineBasicBlock &MBB) const {
   55   MachineBasicBlock::iterator MBBI = MBB.begin();
  145                                     MachineBasicBlock &MBB) const {
  156   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
  187     MachineBasicBlock::iterator PI = std::prev(MBBI);
  236     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  236     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  277     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  277     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  305 static void fixStackStores(MachineBasicBlock &MBB,
  306                            MachineBasicBlock::iterator MI,
  313     MachineBasicBlock::iterator NextMI = std::next(I);
  361 MachineBasicBlock::iterator AVRFrameLowering::eliminateCallFramePseudoInstr(
  460     for (const MachineBasicBlock &BB : MF) {
  509     MachineBasicBlock &EntryMBB = MF.front();
  510     MachineBasicBlock::iterator MBBI = EntryMBB.begin();
  521     for (MachineBasicBlock &MBB : MF) {
lib/Target/AVR/AVRFrameLowering.h
   22   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   23   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   25   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   26                                  MachineBasicBlock::iterator MI,
   30   restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   31                               MachineBasicBlock::iterator MI,
   38   MachineBasicBlock::iterator
lib/Target/AVR/AVRISelLowering.cpp
 1436 MachineBasicBlock *AVRTargetLowering::insertShift(MachineInstr &MI,
 1437                                                   MachineBasicBlock *BB) const {
 1500   MachineBasicBlock *LoopBB = F->CreateMachineBasicBlock(LLVM_BB);
 1501   MachineBasicBlock *RemBB = F->CreateMachineBasicBlock(LLVM_BB);
 1569 static bool isCopyMulResult(MachineBasicBlock::iterator const &I) {
 1581 MachineBasicBlock *AVRTargetLowering::insertMul(MachineInstr &MI,
 1582                                                 MachineBasicBlock *BB) const {
 1584   MachineBasicBlock::iterator I(MI);
 1596 MachineBasicBlock *
 1598                                                MachineBasicBlock *MBB) const {
 1637   MachineBasicBlock *FallThrough = MBB->getFallThrough();
 1646   MachineBasicBlock *trueMBB = MF->CreateMachineBasicBlock(LLVM_BB);
 1647   MachineBasicBlock *falseMBB = MF->CreateMachineBasicBlock(LLVM_BB);
lib/Target/AVR/AVRISelLowering.h
  108   MachineBasicBlock *
  110                               MachineBasicBlock *MBB) const override;
  178   MachineBasicBlock *insertShift(MachineInstr &MI, MachineBasicBlock *BB) const;
  178   MachineBasicBlock *insertShift(MachineInstr &MI, MachineBasicBlock *BB) const;
  179   MachineBasicBlock *insertMul(MachineInstr &MI, MachineBasicBlock *BB) const;
  179   MachineBasicBlock *insertMul(MachineInstr &MI, MachineBasicBlock *BB) const;
lib/Target/AVR/AVRInstrInfo.cpp
   41 void AVRInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   42                                MachineBasicBlock::iterator MI,
  120 void AVRInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
  121                                        MachineBasicBlock::iterator MI,
  159 void AVRInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
  160                                         MachineBasicBlock::iterator MI,
  263 bool AVRInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  264                                  MachineBasicBlock *&TBB,
  265                                  MachineBasicBlock *&FBB,
  270   MachineBasicBlock::iterator I = MBB.end();
  271   MachineBasicBlock::iterator UnCondBrIter = MBB.end();
  331       MachineBasicBlock *TargetBB = I->getOperand(0).getMBB();
  353         MachineBasicBlock::iterator OldInst = I;
  398 unsigned AVRInstrInfo::insertBranch(MachineBasicBlock &MBB,
  399                                     MachineBasicBlock *TBB,
  400                                     MachineBasicBlock *FBB,
  437 unsigned AVRInstrInfo::removeBranch(MachineBasicBlock &MBB,
  441   MachineBasicBlock::iterator I = MBB.end();
  503 MachineBasicBlock *
  558 unsigned AVRInstrInfo::insertIndirectBranch(MachineBasicBlock &MBB,
  559                                             MachineBasicBlock &NewDestBB,
lib/Target/AVR/AVRInstrInfo.h
   74   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   74   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   77   void storeRegToStackSlot(MachineBasicBlock &MBB,
   78                            MachineBasicBlock::iterator MI, unsigned SrcReg,
   82   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   83                             MachineBasicBlock::iterator MI, unsigned DestReg,
   92   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   92   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   93                      MachineBasicBlock *&FBB,
   96   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   96   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   97                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  100   unsigned removeBranch(MachineBasicBlock &MBB,
  105   MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const override;
  110   unsigned insertIndirectBranch(MachineBasicBlock &MBB,
  111                                 MachineBasicBlock &NewDestBB,
lib/Target/AVR/AVRRegisterInfo.cpp
   98 static void foldFrameOffset(MachineBasicBlock::iterator &II, int &Offset, unsigned DstReg) {
  128 void AVRRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  135   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/AVR/AVRRegisterInfo.h
   40   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
lib/Target/AVR/AVRRelaxMemOperations.cpp
   43   typedef MachineBasicBlock Block;
lib/Target/BPF/BPFFrameLowering.cpp
   26                                     MachineBasicBlock &MBB) const {}
   29                                     MachineBasicBlock &MBB) const {}
lib/Target/BPF/BPFFrameLowering.h
   26   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   27   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   33   MachineBasicBlock::iterator
lib/Target/BPF/BPFISelLowering.cpp
  564 BPFTargetLowering::EmitSubregExt(MachineInstr &MI, MachineBasicBlock *BB,
  585 MachineBasicBlock *
  587                                                      MachineBasicBlock *BB)
  616 MachineBasicBlock *
  618                                                MachineBasicBlock *BB) const {
  660   MachineBasicBlock *ThisMBB = BB;
  662   MachineBasicBlock *Copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
  663   MachineBasicBlock *Copy1MBB = F->CreateMachineBasicBlock(LLVM_BB);
lib/Target/BPF/BPFISelLowering.h
   53   MachineBasicBlock *
   55                               MachineBasicBlock *BB) const override;
  113   unsigned EmitSubregExt(MachineInstr &MI, MachineBasicBlock *BB, unsigned Reg,
  116   MachineBasicBlock * EmitInstrWithCustomInserterMemcpy(MachineInstr &MI,
  117                                                         MachineBasicBlock *BB)
lib/Target/BPF/BPFInstrInfo.cpp
   31 void BPFInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   32                                MachineBasicBlock::iterator I,
   45 void BPFInstrInfo::expandMEMCPY(MachineBasicBlock::iterator MI) const {
   51   MachineBasicBlock *BB = MI->getParent();
  124 void BPFInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
  125                                        MachineBasicBlock::iterator I,
  147 void BPFInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
  148                                         MachineBasicBlock::iterator I,
  164 bool BPFInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  165                                  MachineBasicBlock *&TBB,
  166                                  MachineBasicBlock *&FBB,
  171   MachineBasicBlock::iterator I = MBB.end();
  219 unsigned BPFInstrInfo::insertBranch(MachineBasicBlock &MBB,
  220                                     MachineBasicBlock *TBB,
  221                                     MachineBasicBlock *FBB,
  240 unsigned BPFInstrInfo::removeBranch(MachineBasicBlock &MBB,
  244   MachineBasicBlock::iterator I = MBB.end();
lib/Target/BPF/BPFInstrInfo.h
   32   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   32   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   38   void storeRegToStackSlot(MachineBasicBlock &MBB,
   39                            MachineBasicBlock::iterator MBBI, unsigned SrcReg,
   44   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   45                             MachineBasicBlock::iterator MBBI, unsigned DestReg,
   48   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   48   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   49                      MachineBasicBlock *&FBB,
   53   unsigned removeBranch(MachineBasicBlock &MBB,
   55   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   55   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   56                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
   60   void expandMEMCPY(MachineBasicBlock::iterator) const;
lib/Target/BPF/BPFMIChecking.cpp
  157   for (MachineBasicBlock &MBB : *MF) {
lib/Target/BPF/BPFMIPeephole.cpp
  123   for (MachineBasicBlock &MBB : *MF) {
  240   for (MachineBasicBlock &MBB : *MF) {
  361   for (MachineBasicBlock &MBB : *MF) {
lib/Target/BPF/BPFMISimplifyPatchable.cpp
   80   for (MachineBasicBlock &MBB : *MF) {
lib/Target/BPF/BPFRegisterInfo.cpp
   56 void BPFRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
   63   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/BPF/BPFRegisterInfo.h
   31   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
lib/Target/Hexagon/BitTracker.cpp
  774   const MachineBasicBlock *BA = InstA->getParent();
  775   const MachineBasicBlock *BB = InstB->getParent();
  786     MachineBasicBlock::const_iterator I = MI->getParent()->begin();
  787     MachineBasicBlock::const_iterator E = MI->getIterator();
  815     const MachineBasicBlock *PB = PI.getOperand(i + 1).getMBB();
  920   const MachineBasicBlock &B = *BI.getParent();
  921   MachineBasicBlock::const_iterator It = BI, End = B.end();
  961     for (const MachineBasicBlock *SB : B.successors()) {
  972     for (const MachineBasicBlock *SB : B.successors())
  976   for (const MachineBasicBlock *TB : Targets)
 1024 bool BT::reached(const MachineBasicBlock *B) const {
 1063     const MachineBasicBlock &B = *MF.getBlockNumbered(Edge.second);
 1064     MachineBasicBlock::const_iterator It = B.begin(), End = B.end();
 1123   const MachineBasicBlock *Entry = MachineFlowGraphTraits::getEntryNode(&MF);
 1126   for (const MachineBasicBlock &B : MF) {
lib/Target/Hexagon/BitTracker.h
   43   using BranchTargetList = SetVector<const MachineBasicBlock *>;
   56   bool reached(const MachineBasicBlock *B) const;
lib/Target/Hexagon/HexagonAsmPrinter.cpp
  107       const MachineBasicBlock *MBB) const {
  750     const MachineBasicBlock* MBB = MI->getParent();
  751     MachineBasicBlock::const_instr_iterator MII = MI->getIterator();
lib/Target/Hexagon/HexagonAsmPrinter.h
   46     bool isBlockOnlyReachableByFallthrough(const MachineBasicBlock *MBB)
lib/Target/Hexagon/HexagonBitSimplify.cpp
  233     bool visitBlock(MachineBasicBlock &B, Transformation &T, RegisterSet &AVs);
  250     virtual bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) = 0;
  263 bool HexagonBitSimplify::visitBlock(MachineBasicBlock &B, Transformation &T,
  994   MachineBasicBlock *B = N->getBlock();
 1055     bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) override;
 1300 bool RedundantInstrElimination::processBlock(MachineBasicBlock &B,
 1378     bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) override;
 1383         MachineBasicBlock &B, MachineBasicBlock::iterator At, DebugLoc &DL);
 1383         MachineBasicBlock &B, MachineBasicBlock::iterator At, DebugLoc &DL);
 1411       MachineBasicBlock &B, MachineBasicBlock::iterator At, DebugLoc &DL) {
 1411       MachineBasicBlock &B, MachineBasicBlock::iterator At, DebugLoc &DL) {
 1456 bool ConstGeneration::processBlock(MachineBasicBlock &B, const RegisterSet&) {
 1500     bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) override;
 1520     bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) override;
 1582 bool CopyGeneration::processBlock(MachineBasicBlock &B,
 1716 bool CopyPropagation::processBlock(MachineBasicBlock &B, const RegisterSet&) {
 1745     bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) override;
 2024   MachineBasicBlock &B = *MI->getParent();
 2047   MachineBasicBlock &B = *MI->getParent();
 2095   MachineBasicBlock &B = *MI->getParent();
 2136   MachineBasicBlock &B = *MI->getParent();
 2266     MachineBasicBlock &B = *DefS->getParent();
 2335   MachineBasicBlock &B = *MI->getParent();
 2540     MachineBasicBlock &B = *MI->getParent();
 2589   MachineBasicBlock &B = *MI->getParent();
 2696 bool BitSimplification::processBlock(MachineBasicBlock &B,
 2777   MachineBasicBlock &Entry = MF.front();
 2809     for (auto &B : MF)
 2905       LoopCand(MachineBasicBlock *lb, MachineBasicBlock *pb,
 2905       LoopCand(MachineBasicBlock *lb, MachineBasicBlock *pb,
 2906             MachineBasicBlock *eb) : LB(lb), PB(pb), EB(eb) {}
 2908       MachineBasicBlock *LB, *PB, *EB;
 2916       PhiInfo(MachineInstr &P, MachineBasicBlock &B);
 2920       MachineBasicBlock *LB, *PB;     // Loop Block, Preheader Block
 2930     void moveGroup(InstrGroup &G, MachineBasicBlock &LB, MachineBasicBlock &PB,
 2930     void moveGroup(InstrGroup &G, MachineBasicBlock &LB, MachineBasicBlock &PB,
 2931         MachineBasicBlock::iterator At, unsigned OldPhiR, unsigned NewPredR);
 2943       MachineBasicBlock &B) {
 3065 void HexagonLoopRescheduling::moveGroup(InstrGroup &G, MachineBasicBlock &LB,
 3066       MachineBasicBlock &PB, MachineBasicBlock::iterator At, unsigned OldPhiR,
 3066       MachineBasicBlock &PB, MachineBasicBlock::iterator At, unsigned OldPhiR,
 3325   for (auto &B : MF) {
 3328     MachineBasicBlock *PB = nullptr;
 3339     MachineBasicBlock *EB = nullptr;
lib/Target/Hexagon/HexagonBlockRanges.cpp
  157 HexagonBlockRanges::InstrIndexMap::InstrIndexMap(MachineBasicBlock &B)
  233       const MachineBasicBlock &B, const MachineRegisterInfo &MRI,
  294   MachineBasicBlock &B = IndexMap.getBlock();
  398   for (auto *SB : B.successors())
lib/Target/Hexagon/HexagonBlockRanges.h
  124     InstrIndexMap(MachineBasicBlock &B);
  128     MachineBasicBlock &getBlock() const { return Block; }
  138     MachineBasicBlock &Block;
  161   RegisterSet getLiveIns(const MachineBasicBlock &B,
lib/Target/Hexagon/HexagonBranchRelaxation.cpp
   73           DenseMap<MachineBasicBlock*, unsigned> &BlockToInstOffset);
   75           DenseMap<MachineBasicBlock*, unsigned> &BlockToInstOffset);
   77           DenseMap<MachineBasicBlock*, unsigned> &BlockToInstOffset);
  104       DenseMap<MachineBasicBlock*, unsigned> &OffsetMap) {
  107   for (auto &B : MF) {
  133   DenseMap<MachineBasicBlock*, unsigned> BlockToInstOffset;
  144       DenseMap<MachineBasicBlock*, unsigned> &BlockToInstOffset) {
  145   MachineBasicBlock &B = *MI.getParent();
  161   MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  194       DenseMap<MachineBasicBlock*, unsigned> &BlockToInstOffset) {
  197   for (auto &B : MF) {
lib/Target/Hexagon/HexagonCFGOptimizer.cpp
   38   void InvertAndChangeJumpTarget(MachineInstr &, MachineBasicBlock *);
   39   bool isOnFallThroughPath(MachineBasicBlock *MBB);
   81     MachineInstr &MI, MachineBasicBlock *NewTarget) {
  106 bool HexagonCFGOptimizer::isOnFallThroughPath(MachineBasicBlock *MBB) {
  109   for (MachineBasicBlock *PB : MBB->predecessors())
  122     MachineBasicBlock *MBB = &*MBBb;
  125     MachineBasicBlock::iterator MII = MBB->getFirstTerminator();
  158         MachineBasicBlock::succ_iterator SI = MBB->succ_begin();
  159         MachineBasicBlock* FirstSucc = *SI;
  160         MachineBasicBlock* SecondSucc = *(++SI);
  161         MachineBasicBlock* LayoutSucc = nullptr;
  162         MachineBasicBlock* JumpAroundTarget = nullptr;
  176         MachineBasicBlock* CondBranchTarget = nullptr;
  191             MachineBasicBlock* UncondTarget =
  222               std::vector<MachineBasicBlock::RegisterMaskPair> OrigLiveIn(
  224               std::vector<MachineBasicBlock::RegisterMaskPair> NewLiveIn(
lib/Target/Hexagon/HexagonConstExtenders.cpp
  190     MachineBasicBlock *Block = nullptr;
  191     MachineBasicBlock::iterator At;
  193     Loc(MachineBasicBlock *B, MachineBasicBlock::iterator It)
  193     Loc(MachineBasicBlock *B, MachineBasicBlock::iterator It)
  493     const MachineBasicBlock &MBB = *ED.getOp().getParent()->getParent();
 1246   for (MachineBasicBlock &MBB : MF) {
 1486   DenseSet<MachineBasicBlock*> Blocks;
 1489   MachineBasicBlock *DomB = ED0.UseMI->getParent();
 1494     MachineBasicBlock *MBB = ED.UseMI->getParent();
 1511   MachineBasicBlock::iterator It;
 1514     MachineBasicBlock::iterator End = DomB->end();
 1529   MachineBasicBlock &MBB = *DefL.Block;
 1530   MachineBasicBlock::iterator At = DefL.At;
 1585   MachineBasicBlock &MBB = *MI.getParent();
 1586   MachineBasicBlock::iterator At = MI.getIterator();
 1703   MachineBasicBlock &MBB = *MI.getParent();
 1704   MachineBasicBlock::iterator At = MI.getIterator();
 1972     const MachineBasicBlock *BA = MA->getParent();
 1973     const MachineBasicBlock *BB = MB->getParent();
lib/Target/Hexagon/HexagonConstPropagation.cpp
  256     bool computeBlockSuccessors(const MachineBasicBlock *MB,
  257           SetVector<const MachineBasicBlock*> &Targets);
  258     void removeCFGEdge(MachineBasicBlock *From, MachineBasicBlock *To);
  258     void removeCFGEdge(MachineBasicBlock *From, MachineBasicBlock *To);
  309                           SetVector<const MachineBasicBlock*> &Targets,
  620   const MachineBasicBlock *MB = PN.getParent();
  644     const MachineBasicBlock *PB = PN.getOperand(i+1).getMBB();
  724   const MachineBasicBlock &B = *BrI.getParent();
  726   MachineBasicBlock::const_iterator It = BrI.getIterator();
  727   MachineBasicBlock::const_iterator End = B.end();
  729   SetVector<const MachineBasicBlock*> Targets;
  751     for (const MachineBasicBlock *SB : B.successors()) {
  771     for (const MachineBasicBlock *SB : B.successors())
  775   for (const MachineBasicBlock *TB : Targets) {
  801 bool MachineConstPropagator::computeBlockSuccessors(const MachineBasicBlock *MB,
  802       SetVector<const MachineBasicBlock*> &Targets) {
  803   MachineBasicBlock::const_iterator FirstBr = MB->end();
  814   MachineBasicBlock::const_iterator End = MB->end();
  817   for (MachineBasicBlock::const_iterator I = FirstBr; I != End; ++I) {
  839   for (const MachineBasicBlock *SB : MB->successors())
  846 void MachineConstPropagator::removeCFGEdge(MachineBasicBlock *From,
  847       MachineBasicBlock *To) {
  866   MachineBasicBlock *Entry = GraphTraits<MachineFunction*>::getEntryNode(&MF);
  884     MachineBasicBlock *SB = MF.getBlockNumbered(Edge.second);
  890     MachineBasicBlock::const_iterator It = SB->begin(), End = SB->end();
  928       for (const MachineBasicBlock *SSB : SB->successors())
  967   std::vector<MachineBasicBlock*> POT;
  968   for (MachineBasicBlock *B : post_order(&MF))
  972   for (MachineBasicBlock *B : POT) {
  980     SetVector<const MachineBasicBlock*> Targets;
 1013       SmallVector<MachineBasicBlock*,2> ToRemove;
 1014       for (MachineBasicBlock *SB : B->successors()) {
 1033   for (MachineBasicBlock &B : MF) {
 1034     MachineBasicBlock::iterator I = B.begin(), E = B.end();
 1841           SetVector<const MachineBasicBlock*> &Targets, bool &FallsThru)
 2251       const CellMap &Inputs, SetVector<const MachineBasicBlock*> &Targets,
 2305     const MachineBasicBlock *BranchTarget = BrI.getOperand(1).getMBB();
 2842   MachineBasicBlock &B = *MI.getParent();
 2858     MachineBasicBlock::iterator At = MI.getIterator();
 2950   MachineBasicBlock &B = *MI.getParent();
 2952   MachineBasicBlock::iterator At = MI.getIterator();
 3125   MachineBasicBlock &B = *BrI.getParent();
 3131   SetVector<const MachineBasicBlock*> Targets;
 3144     MachineBasicBlock *TargetB = const_cast<MachineBasicBlock*>(Targets[0]);
lib/Target/Hexagon/HexagonCopyToCombine.cpp
   94   void findPotentialNewifiableTFRs(MachineBasicBlock &);
   97                MachineBasicBlock::iterator &MI, bool DoInsertAtI1,
  104   void emitCombineRR(MachineBasicBlock::iterator &Before, unsigned DestReg,
  107   void emitCombineRI(MachineBasicBlock::iterator &Before, unsigned DestReg,
  110   void emitCombineIR(MachineBasicBlock::iterator &Before, unsigned DestReg,
  113   void emitCombineII(MachineBasicBlock::iterator &Before, unsigned DestReg,
  116   void emitConst64(MachineBasicBlock::iterator &Before, unsigned DestReg,
  282     MachineBasicBlock::reverse_iterator I(I2),
  331     MachineBasicBlock::iterator I(I1), End(I2);
  395 HexagonCopyToCombine::findPotentialNewifiableTFRs(MachineBasicBlock &BB) {
  422         MachineBasicBlock::iterator It(DefInst);
  487     for(MachineBasicBlock::iterator MI = BI->begin(), End = BI->end();
  527   MachineBasicBlock::iterator I2 = std::next(MachineBasicBlock::iterator(I1));
  533   for (MachineBasicBlock::iterator End = I1.getParent()->end(); I2 != End;
  574                                    MachineBasicBlock::iterator &MI,
  615   MachineBasicBlock::iterator InsertPt(DoInsertAtI1 ? I1 : I2);
  632     MachineBasicBlock *BB = InsertPt->getParent();
  646 void HexagonCopyToCombine::emitConst64(MachineBasicBlock::iterator &InsertPt,
  653   MachineBasicBlock *BB = InsertPt->getParent();
  663 void HexagonCopyToCombine::emitCombineII(MachineBasicBlock::iterator &InsertPt,
  668   MachineBasicBlock *BB = InsertPt->getParent();
  757 void HexagonCopyToCombine::emitCombineIR(MachineBasicBlock::iterator &InsertPt,
  765   MachineBasicBlock *BB = InsertPt->getParent();
  805 void HexagonCopyToCombine::emitCombineRI(MachineBasicBlock::iterator &InsertPt,
  813   MachineBasicBlock *BB = InsertPt->getParent();
  854 void HexagonCopyToCombine::emitCombineRR(MachineBasicBlock::iterator &InsertPt,
  864   MachineBasicBlock *BB = InsertPt->getParent();
lib/Target/Hexagon/HexagonEarlyIfConv.cpp
  111     PrintMB(const MachineBasicBlock *B) : MB(B) {}
  113     const MachineBasicBlock *MB;
  123     FlowPattern(MachineBasicBlock *B, unsigned PR, MachineBasicBlock *TB,
  123     FlowPattern(MachineBasicBlock *B, unsigned PR, MachineBasicBlock *TB,
  124           MachineBasicBlock *FB, MachineBasicBlock *JB)
  124           MachineBasicBlock *FB, MachineBasicBlock *JB)
  127     MachineBasicBlock *SplitB = nullptr;
  128     MachineBasicBlock *TrueB = nullptr;
  129     MachineBasicBlock *FalseB = nullptr;
  130     MachineBasicBlock *JoinB = nullptr;
  174     using BlockSetType = DenseSet<MachineBasicBlock *>;
  176     bool isPreheader(const MachineBasicBlock *B) const;
  177     bool matchFlowPattern(MachineBasicBlock *B, MachineLoop *L,
  179     bool visitBlock(MachineBasicBlock *B, MachineLoop *L);
  182     bool hasEHLabel(const MachineBasicBlock *B) const;
  183     bool hasUncondBranch(const MachineBasicBlock *B) const;
  184     bool isValidCandidate(const MachineBasicBlock *B) const;
  187     unsigned countPredicateDefs(const MachineBasicBlock *B) const;
  188     unsigned computePhiCost(const MachineBasicBlock *B,
  196     void predicateInstr(MachineBasicBlock *ToB, MachineBasicBlock::iterator At,
  196     void predicateInstr(MachineBasicBlock *ToB, MachineBasicBlock::iterator At,
  198     void predicateBlockNB(MachineBasicBlock *ToB,
  199           MachineBasicBlock::iterator At, MachineBasicBlock *FromB,
  202     unsigned buildMux(MachineBasicBlock *B, MachineBasicBlock::iterator At,
  202     unsigned buildMux(MachineBasicBlock *B, MachineBasicBlock::iterator At,
  205     void updatePhiNodes(MachineBasicBlock *WhereB, const FlowPattern &FP);
  208     void removeBlock(MachineBasicBlock *B);
  209     void eliminatePhis(MachineBasicBlock *B);
  210     void mergeBlocks(MachineBasicBlock *PredB, MachineBasicBlock *SuccB);
  210     void mergeBlocks(MachineBasicBlock *PredB, MachineBasicBlock *SuccB);
  230 bool HexagonEarlyIfConversion::isPreheader(const MachineBasicBlock *B) const {
  233   MachineBasicBlock *SB = *B->succ_begin();
  238 bool HexagonEarlyIfConversion::matchFlowPattern(MachineBasicBlock *B,
  246   MachineBasicBlock *TB = nullptr, *FB = nullptr;
  247   MachineBasicBlock::const_iterator T1I = B->getFirstTerminator();
  257   MachineBasicBlock *NextB = (NextBI != MFN->end()) ? &*NextBI : nullptr;
  259   MachineBasicBlock *T1B = T1I->getOperand(1).getMBB();
  260   MachineBasicBlock::const_iterator T2I = std::next(T1I);
  263   MachineBasicBlock *T2B = (T2I == B->end()) ? NextB
  305   MachineBasicBlock *TSB = (TNS > 0) ? *TB->succ_begin() : nullptr;
  306   MachineBasicBlock *FSB = (FNS > 0) ? *FB->succ_begin() : nullptr;
  307   MachineBasicBlock *JB = nullptr;
  340 bool HexagonEarlyIfConversion::hasEHLabel(const MachineBasicBlock *B) const {
  349 bool HexagonEarlyIfConversion::hasUncondBranch(const MachineBasicBlock *B)
  351   MachineBasicBlock::const_iterator I = B->getFirstTerminator(), E = B->end();
  360 bool HexagonEarlyIfConversion::isValidCandidate(const MachineBasicBlock *B)
  434     const MachineBasicBlock &B = *FP.JoinB;
  448 unsigned HexagonEarlyIfConversion::computePhiCost(const MachineBasicBlock *B,
  463       const MachineBasicBlock *BB = MI.getOperand(i+1).getMBB();
  488       const MachineBasicBlock *B) const {
  528     MachineBasicBlock *TSB = *FP.TrueB->succ_begin();
  529     MachineBasicBlock *FSB = *FP.FalseB->succ_begin();
  573       MachineBasicBlock *SB = *FP.TrueB->succ_begin();
  578       MachineBasicBlock *SB = *FP.FalseB->succ_begin();
  596 bool HexagonEarlyIfConversion::visitBlock(MachineBasicBlock *B,
  615     MachineBasicBlock *SB = (*I)->getBlock();
  644   MachineBasicBlock *HB = L ? L->getHeader() : nullptr;
  654   MachineBasicBlock *EntryB = GraphTraits<MachineFunction*>::getEntryNode(MFN);
  708 void HexagonEarlyIfConversion::predicateInstr(MachineBasicBlock *ToB,
  709       MachineBasicBlock::iterator At, MachineInstr *MI,
  740     MachineBasicBlock *TB = MI->getOperand(0).getMBB();
  759 void HexagonEarlyIfConversion::predicateBlockNB(MachineBasicBlock *ToB,
  760       MachineBasicBlock::iterator At, MachineBasicBlock *FromB,
  763   MachineBasicBlock::iterator End = FromB->getFirstTerminator();
  764   MachineBasicBlock::iterator I, NextI;
  776 unsigned HexagonEarlyIfConversion::buildMux(MachineBasicBlock *B,
  777       MachineBasicBlock::iterator At, const TargetRegisterClass *DRC,
  809 void HexagonEarlyIfConversion::updatePhiNodes(MachineBasicBlock *WhereB,
  859   MachineBasicBlock *TSB = nullptr, *FSB = nullptr;
  860   MachineBasicBlock::iterator OldTI = FP.SplitB->getFirstTerminator();
  870     MachineBasicBlock::iterator At = FP.SplitB->getFirstTerminator();
  877   MachineBasicBlock *SSB = nullptr;
  880     MachineBasicBlock *T = *FP.SplitB->succ_begin();
  953 void HexagonEarlyIfConversion::removeBlock(MachineBasicBlock *B) {
  960     MachineBasicBlock *IDB = IDN->getBlock();
  967       MachineBasicBlock *SB = (*I)->getBlock();
  983 void HexagonEarlyIfConversion::eliminatePhis(MachineBasicBlock *B) {
  985   MachineBasicBlock::iterator I, NextI, NonPHI = B->getFirstNonPHI();
 1009 void HexagonEarlyIfConversion::mergeBlocks(MachineBasicBlock *PredB,
 1010       MachineBasicBlock *SuccB) {
 1034   MachineBasicBlock *SB = *FP.SplitB->succ_begin();
lib/Target/Hexagon/HexagonExpandCondsets.cpp
  213         MachineBasicBlock::iterator At, unsigned DstR,
  220         MachineBasicBlock::iterator UseIt, unsigned PredR, bool Cond);
  224                      MachineBasicBlock::iterator Where,
  228         bool Cond, MachineBasicBlock::iterator First,
  231     bool predicateInBlock(MachineBasicBlock &B,
  392     for (MachineBasicBlock *D : Defs)
  396     MachineBasicBlock *Entry = &Dest->getParent()->front();
  397     SetVector<MachineBasicBlock*> Work(Dest->pred_begin(), Dest->pred_end());
  399       MachineBasicBlock *B = Work[i];
  404       for (auto *P : B->predecessors())
  413   SetVector<MachineBasicBlock*> Defs;
  429     MachineBasicBlock *BB = LIS->getMBBFromIndex(SI);
  441     MachineBasicBlock *BB = LIS->getMBBFromIndex(SI);
  623       MachineBasicBlock::iterator At,
  627   MachineBasicBlock &B = *At->getParent();
  676   MachineBasicBlock::iterator At = MI;
  745       MachineBasicBlock::iterator UseIt, unsigned PredR, bool Cond) {
  746   MachineBasicBlock &B = *UseIt->getParent();
  747   MachineBasicBlock::iterator I = UseIt, S = B.begin();
  829   MachineBasicBlock::iterator StartI = IsDown ? TheI : ToI;
  830   MachineBasicBlock::iterator EndI = IsDown ? ToI : TheI;
  834   for (MachineBasicBlock::iterator I = std::next(StartI); I != EndI; ++I) {
  855                                         MachineBasicBlock::iterator Where,
  869   MachineBasicBlock &B = *MI.getParent();
  908       unsigned PredR, bool Cond, MachineBasicBlock::iterator First,
  910   MachineBasicBlock::iterator End = std::next(Last);
  911   for (MachineBasicBlock::iterator I = First; I != End; ++I) {
  968   MachineBasicBlock::iterator DefIt = DefI, TfrIt = TfrI;
  974   for (MachineBasicBlock::iterator I = std::next(DefIt); I != TfrIt; ++I) {
  981   for (MachineBasicBlock::iterator I = std::next(DefIt); I != TfrIt; ++I) {
 1049   MachineBasicBlock::iterator PastDefIt = std::next(DefIt);
 1068 bool HexagonExpandCondsets::predicateInBlock(MachineBasicBlock &B,
 1071   MachineBasicBlock::iterator I, E, NextI;
 1267   for (auto &B : MF)
 1312   for (auto &B : MF)
lib/Target/Hexagon/HexagonFixupHwLoops.cpp
   70                          MachineBasicBlock::iterator &MII);
  110   DenseMap<const MachineBasicBlock *, unsigned> BlockToInstOffset;
  116   for (const MachineBasicBlock &MBB : MF) {
  132   for (MachineBasicBlock &MBB : MF) {
  136     MachineBasicBlock::iterator MII = MBB.begin();
  137     MachineBasicBlock::iterator MIE = MBB.end();
  147         MachineBasicBlock *TargetBB = MII->getOperand(0).getMBB();
  169                                           MachineBasicBlock::iterator &MII) {
  171   MachineBasicBlock *MBB = MII->getParent();
lib/Target/Hexagon/HexagonFrameLowering.cpp
  282 static bool needsStackFrame(const MachineBasicBlock &MBB, const BitVector &CSR,
  336 static bool hasTailCall(const MachineBasicBlock &MBB) {
  337     MachineBasicBlock::const_iterator I = MBB.getLastNonDebugInstr();
  345 static bool hasReturn(const MachineBasicBlock &MBB) {
  354 static MachineInstr *getReturn(MachineBasicBlock &MBB) {
  395       MachineBasicBlock *&PrologB, MachineBasicBlock *&EpilogB) const {
  395       MachineBasicBlock *&PrologB, MachineBasicBlock *&EpilogB) const {
  423   for (auto &I : MF) {
  434   SmallVector<MachineBasicBlock*,16> SFBlocks;
  440   for (auto &I : MF)
  455   MachineBasicBlock *DomB = SFBlocks[0];
  461   MachineBasicBlock *PDomB = SFBlocks[0];
  504                                         MachineBasicBlock &MBB) const {
  510   MachineBasicBlock *PrologB = &MF.front(), *EpilogB = nullptr;
  523     for (auto &B : MF)
  527     for (auto &B : MF)
  531     for (auto &B : MF) {
  583 void HexagonFrameLowering::insertPrologueInBlock(MachineBasicBlock &MBB,
  609   MachineBasicBlock::iterator InsertPt = MBB.begin();
  612   for (auto &MBB : MF)
  646 void HexagonFrameLowering::insertEpilogueInBlock(MachineBasicBlock &MBB) const {
  653   MachineBasicBlock::iterator InsertPt = MBB.getFirstTerminator();
  686     MachineBasicBlock::iterator It = RetI;
  703     MachineBasicBlock::iterator PrevIt = std::prev(InsertPt);
  733 void HexagonFrameLowering::insertAllocframe(MachineBasicBlock &MBB,
  734       MachineBasicBlock::iterator InsertPt, unsigned NumBytes) const {
  775       MachineBasicBlock &SaveB) const {
  778   MachineBasicBlock &EntryB = MF.front();
  786     MachineBasicBlock &MBB = *MF.getBlockNumbered(BN);
  796 bool HexagonFrameLowering::updateExitPaths(MachineBasicBlock &MBB,
  797       MachineBasicBlock &RestoreB, BitVector &DoneT, BitVector &DoneF,
  840 static Optional<MachineBasicBlock::iterator>
  850       MachineBasicBlock::iterator It = I.getIterator();
  872   for (auto &B : MF) {
  879 void HexagonFrameLowering::insertCFIInstructionsAt(MachineBasicBlock &MBB,
  880       MachineBasicBlock::iterator At) const {
 1210 bool HexagonFrameLowering::insertCSRSpillsInBlock(MachineBasicBlock &MBB,
 1216   MachineBasicBlock::iterator MI = MBB.begin();
 1278 bool HexagonFrameLowering::insertCSRRestoresInBlock(MachineBasicBlock &MBB,
 1283   MachineBasicBlock::iterator MI = MBB.getFirstTerminator();
 1314       MachineBasicBlock::iterator It = MBB.getFirstTerminator();
 1342 MachineBasicBlock::iterator HexagonFrameLowering::eliminateCallFramePseudoInstr(
 1568 bool HexagonFrameLowering::expandCopy(MachineBasicBlock &B,
 1569       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1589 bool HexagonFrameLowering::expandStoreInt(MachineBasicBlock &B,
 1590       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1622 bool HexagonFrameLowering::expandLoadInt(MachineBasicBlock &B,
 1623       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1653 bool HexagonFrameLowering::expandStoreVecPred(MachineBasicBlock &B,
 1654       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1690 bool HexagonFrameLowering::expandLoadVecPred(MachineBasicBlock &B,
 1691       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1725 bool HexagonFrameLowering::expandStoreVec2(MachineBasicBlock &B,
 1726       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1785 bool HexagonFrameLowering::expandLoadVec2(MachineBasicBlock &B,
 1786       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1826 bool HexagonFrameLowering::expandStoreVec(MachineBasicBlock &B,
 1827       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1855 bool HexagonFrameLowering::expandLoadVec(MachineBasicBlock &B,
 1856       MachineBasicBlock::iterator It, MachineRegisterInfo &MRI,
 1888   for (auto &B : MF) {
 1890     MachineBasicBlock::iterator NextI;
 2017       std::map<MachineBasicBlock *, HexagonBlockRanges::InstrIndexMap>;
 2019       std::map<MachineBasicBlock *, HexagonBlockRanges::RangeList>;
 2053   for (auto &B : MF) {
 2189   std::map<MachineBasicBlock*,std::vector<int>> BlockFIMap;
 2195     for (auto &B : MF) {
 2228   for (auto &B : MF) {
 2271         MachineBasicBlock::iterator StartIt = SI.getIterator(), NextIt;
 2332   MachineBasicBlock &MB = *AI->getParent();
 2501   for (const MachineBasicBlock &B : MF) {
lib/Target/Hexagon/HexagonFrameLowering.h
   38   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const
   40   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const
   45   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   46       MachineBasicBlock::iterator MI, const std::vector<CalleeSavedInfo> &CSI,
   51   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   52       MachineBasicBlock::iterator MI, std::vector<CalleeSavedInfo> &CSI,
   68   MachineBasicBlock::iterator
  112   void insertPrologueInBlock(MachineBasicBlock &MBB, bool PrologueStubs) const;
  113   void insertEpilogueInBlock(MachineBasicBlock &MBB) const;
  114   void insertAllocframe(MachineBasicBlock &MBB,
  115       MachineBasicBlock::iterator InsertPt, unsigned NumBytes) const;
  116   bool insertCSRSpillsInBlock(MachineBasicBlock &MBB, const CSIVect &CSI,
  118   bool insertCSRRestoresInBlock(MachineBasicBlock &MBB, const CSIVect &CSI,
  120   void updateEntryPaths(MachineFunction &MF, MachineBasicBlock &SaveB) const;
  121   bool updateExitPaths(MachineBasicBlock &MBB, MachineBasicBlock &RestoreB,
  121   bool updateExitPaths(MachineBasicBlock &MBB, MachineBasicBlock &RestoreB,
  123   void insertCFIInstructionsAt(MachineBasicBlock &MBB,
  124       MachineBasicBlock::iterator At) const;
  128   bool expandCopy(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  128   bool expandCopy(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  131   bool expandStoreInt(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  131   bool expandStoreInt(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  134   bool expandLoadInt(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  134   bool expandLoadInt(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  137   bool expandStoreVecPred(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  137   bool expandStoreVecPred(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  140   bool expandLoadVecPred(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  140   bool expandLoadVecPred(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  143   bool expandStoreVec2(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  143   bool expandStoreVec2(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  146   bool expandLoadVec2(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  146   bool expandLoadVec2(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  149   bool expandStoreVec(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  149   bool expandStoreVec(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  152   bool expandLoadVec(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  152   bool expandLoadVec(MachineBasicBlock &B, MachineBasicBlock::iterator It,
  165   void findShrunkPrologEpilog(MachineFunction &MF, MachineBasicBlock *&PrologB,
  166       MachineBasicBlock *&EpilogB) const;
lib/Target/Hexagon/HexagonGenInsert.cpp
  535     unsigned distance(const MachineBasicBlock *FromB,
  536           const MachineBasicBlock *ToB, const UnsignedMap &RPO,
  538     unsigned distance(MachineBasicBlock::const_iterator FromI,
  542     void collectInBlock(MachineBasicBlock *B, OrderedRegisterList &AVs);
  598     const MachineBasicBlock &B = *A;
  602     using mb_iterator = MachineBasicBlock::const_iterator;
  747 unsigned HexagonGenInsert::distance(const MachineBasicBlock *FromB,
  748       const MachineBasicBlock *ToB, const UnsignedMap &RPO,
  763   using pred_iterator = MachineBasicBlock::const_pred_iterator;
  766     const MachineBasicBlock *PB = *I;
  782 unsigned HexagonGenInsert::distance(MachineBasicBlock::const_iterator FromI,
  785   const MachineBasicBlock *FB = FromI->getParent(), *TB = ToI->getParent();
  928 void HexagonGenInsert::collectInBlock(MachineBasicBlock *B,
  943   for (MachineBasicBlock::iterator I = B->begin(), E = B->end(); I != E; ++I) {
  980     MachineBasicBlock *SB = DTN->getBlock();
 1411     MachineBasicBlock &B = *MI->getParent();
 1429     MachineBasicBlock::iterator At = MI;
 1458   MachineBasicBlock *B = N->getBlock();
 1547   MachineBasicBlock *RootB = MDT->getRoot();
lib/Target/Hexagon/HexagonGenMux.cpp
  107       MachineBasicBlock::iterator At;
  112       MuxInfo(MachineBasicBlock::iterator It, unsigned DR, unsigned PR,
  131     void buildMaps(MachineBasicBlock &B, InstrIndexMap &I2X,
  136     bool genMuxInBlock(MachineBasicBlock &B);
  180 void HexagonGenMux::buildMaps(MachineBasicBlock &B, InstrIndexMap &I2X,
  186   for (MachineBasicBlock::iterator I = B.begin(), E = B.end(); I != E; ++I) {
  224 bool HexagonGenMux::genMuxInBlock(MachineBasicBlock &B) {
  235   MachineBasicBlock::iterator NextI, End = B.end();
  236   for (MachineBasicBlock::iterator I = B.begin(); I != End; I = NextI) {
  301     MachineBasicBlock::iterator It1 = B.begin(), It2 = B.begin();
  327     MachineBasicBlock::iterator At = CanDown ? Def2 : Def1;
  335     MachineBasicBlock &B = *MX.At->getParent();
  383   for (auto &I : MF)
lib/Target/Hexagon/HexagonGenPredicate.cpp
  207     MachineBasicBlock &B = *A;
  208     for (MachineBasicBlock::iterator I = B.begin(), E = B.end(); I != E; ++I) {
  265   MachineBasicBlock &B = *DefI->getParent();
  273     MachineBasicBlock::iterator DefIt = DefI;
  384   MachineBasicBlock &B = *MI->getParent();
  468   for (MachineBasicBlock &MBB : MF) {
lib/Target/Hexagon/HexagonHardwareLoops.cpp
  237     bool isLoopFeeder(MachineLoop *L, MachineBasicBlock *A, MachineInstr *MI,
  244                                MachineBasicBlock *MBB, MachineLoop *L,
  251                                      MachineBasicBlock *MBB, MachineLoop *L,
  301     MachineBasicBlock *createPreheaderForLoop(MachineLoop *L);
  406   MachineBasicBlock *Header = L->getHeader();
  407   MachineBasicBlock *Preheader = MLI->findLoopPreheader(L, SpecPreheader);
  408   MachineBasicBlock *Latch = L->getLoopLatch();
  409   MachineBasicBlock *ExitingBlock = L->findLoopControlBlock();
  425   using instr_iterator = MachineBasicBlock::instr_iterator;
  456   MachineBasicBlock *TB = nullptr, *FB = nullptr;
  567   MachineBasicBlock *TopMBB = L->getTopBlock();
  568   MachineBasicBlock::pred_iterator PI = TopMBB->pred_begin();
  571   MachineBasicBlock *Backedge = *PI++;
  574   MachineBasicBlock *Incoming = *PI++;
  590   MachineBasicBlock *ExitingBlock = L->findLoopControlBlock();
  601   MachineBasicBlock *Preheader = MLI->findLoopPreheader(L, SpecPreheader);
  605   MachineBasicBlock *Latch = L->getLoopLatch();
  607     MachineBasicBlock *MBB = IV_Phi->getOperand(i+1).getMBB();
  617   MachineBasicBlock *TB = nullptr, *FB = nullptr;
  622   MachineBasicBlock *Header = L->getHeader();
  628     MachineBasicBlock *LTB = nullptr, *LFB = nullptr;
  698     MachineBasicBlock *DefBB = MRI->getVRegDef(R)->getParent();
  708     MachineBasicBlock *DefBB = MRI->getVRegDef(R)->getParent();
  828   MachineBasicBlock *PH = MLI->findLoopPreheader(Loop, SpecPreheader);
  830   MachineBasicBlock::iterator InsertPos = PH->getFirstTerminator();
 1015   for (MachineBasicBlock *MBB : L->getBlocks()) {
 1016     for (MachineBasicBlock::iterator
 1178   MachineBasicBlock *LastMBB = L->findLoopControlBlock();
 1183   MachineBasicBlock::iterator LastI = LastMBB->getFirstTerminator();
 1193   MachineBasicBlock *Preheader = MLI->findLoopPreheader(L, SpecPreheader);
 1200   MachineBasicBlock::iterator InsertPos = Preheader->getFirstTerminator();
 1213     MachineBasicBlock *BBDef = TCDef->getParent();
 1219   MachineBasicBlock *TopBlock = L->getTopBlock();
 1220   MachineBasicBlock *ExitingBlock = L->findLoopControlBlock();
 1221   MachineBasicBlock *LoopStart = nullptr;
 1223     MachineBasicBlock *TB = nullptr, *FB = nullptr;
 1288     MachineBasicBlock *BranchTarget = LastI->getOperand(1).getMBB();
 1324   MachineBasicBlock *BB = BumpI->getParent();
 1328   using instr_iterator = MachineBasicBlock::instr_iterator;
 1364 bool HexagonHardwareLoops::isLoopFeeder(MachineLoop *L, MachineBasicBlock *A,
 1372     for (MachineBasicBlock *MBB : L->getBlocks()) {
 1387     MachineInstr *Phi, const MachineOperand *EndVal, MachineBasicBlock *MBB,
 1416     MachineBasicBlock *MBB, MachineLoop *L,
 1463     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1590   MachineBasicBlock &B = *DI->getParent();
 1607   MachineBasicBlock *Header = L->getHeader();
 1608   MachineBasicBlock *Latch = L->getLoopLatch();
 1609   MachineBasicBlock *ExitingBlock = L->findLoopControlBlock();
 1626   using instr_iterator = MachineBasicBlock::instr_iterator;
 1657   MachineBasicBlock *TB = nullptr, *FB = nullptr;
 1665     MachineBasicBlock *LTB = nullptr, *LFB = nullptr;
 1848 MachineBasicBlock *HexagonHardwareLoops::createPreheaderForLoop(
 1850   if (MachineBasicBlock *TmpPH = MLI->findLoopPreheader(L, SpecPreheader))
 1855   MachineBasicBlock *Header = L->getHeader();
 1856   MachineBasicBlock *Latch = L->getLoopLatch();
 1857   MachineBasicBlock *ExitingBlock = L->findLoopControlBlock();
 1869   using instr_iterator = MachineBasicBlock::instr_iterator;
 1873   using MBBVector = std::vector<MachineBasicBlock *>;
 1877   MachineBasicBlock *TB = nullptr, *FB = nullptr;
 1883     MachineBasicBlock *PB = *I;
 1889   MachineBasicBlock *NewPH = MF->CreateMachineBasicBlock();
 1916         MachineBasicBlock *PredB = PN->getOperand(i+1).getMBB();
 1929         MachineBasicBlock *PredB = PN->getOperand(i+1).getMBB();
 1966     MachineBasicBlock *PB = *I;
lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
 1270   MachineBasicBlock *EntryBB = &MF->front();
lib/Target/Hexagon/HexagonInstrInfo.cpp
  132 static unsigned nonDbgMICount(MachineBasicBlock::const_instr_iterator MIB,
  146 MachineInstr *HexagonInstrInfo::findLoopInstr(MachineBasicBlock *BB,
  147       unsigned EndLoopOp, MachineBasicBlock *TargetBB,
  148       SmallPtrSet<MachineBasicBlock *, 8> &Visited) const {
  160   for (MachineBasicBlock *PB : BB->predecessors()) {
  341     const MachineBasicBlock *MBB = MI.getParent();
  342     MachineBasicBlock::const_instr_iterator MII = MI.getIterator();
  359     const MachineBasicBlock *MBB = MI.getParent();
  360     MachineBasicBlock::const_instr_iterator MII = MI.getIterator();
  385 bool HexagonInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  386                                      MachineBasicBlock *&TBB,
  387                                      MachineBasicBlock *&FBB,
  395   MachineBasicBlock::instr_iterator I = MBB.instr_end();
  555 unsigned HexagonInstrInfo::removeBranch(MachineBasicBlock &MBB,
  560   MachineBasicBlock::iterator I = MBB.end();
  578 unsigned HexagonInstrInfo::insertBranch(MachineBasicBlock &MBB,
  579                                         MachineBasicBlock *TBB,
  580                                         MachineBasicBlock *FBB,
  602       MachineBasicBlock *NewTBB, *NewFBB;
  618       SmallPtrSet<MachineBasicBlock *, 8> VisitedBBs;
  660     SmallPtrSet<MachineBasicBlock *, 8> VisitedBBs;
  706   createTripCountGreaterCondition(int TC, MachineBasicBlock &MBB,
  723   void setPreheader(MachineBasicBlock *NewPreheader) override {
  755 HexagonInstrInfo::analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const {
  757   MachineBasicBlock::iterator I = LoopBB->getFirstTerminator();
  760     SmallPtrSet<MachineBasicBlock *, 8> VisitedBBs;
  769 bool HexagonInstrInfo::isProfitableToIfCvt(MachineBasicBlock &MBB,
  775 bool HexagonInstrInfo::isProfitableToIfCvt(MachineBasicBlock &TMBB,
  776       unsigned NumTCycles, unsigned ExtraTCycles, MachineBasicBlock &FMBB,
  782 bool HexagonInstrInfo::isProfitableToDupForIfCvt(MachineBasicBlock &MBB,
  787 void HexagonInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  788                                    MachineBasicBlock::iterator I,
  884 void HexagonInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
  885       MachineBasicBlock::iterator I, unsigned SrcReg, bool isKill, int FI,
  950     MachineBasicBlock &MBB, MachineBasicBlock::iterator I, unsigned DestReg,
  950     MachineBasicBlock &MBB, MachineBasicBlock::iterator I, unsigned DestReg,
 1008   const MachineBasicBlock &B = *MI.getParent();
 1022   MachineBasicBlock &MBB = *MI.getParent();
 1047       MachineBasicBlock::iterator MBBI = MI.getIterator();
 1433 MachineBasicBlock::instr_iterator
 1435   MachineBasicBlock &MBB = *MI.getParent();
 1438   MachineBasicBlock::iterator First;
 1537 void HexagonInstrInfo::insertNoop(MachineBasicBlock &MBB,
 1538       MachineBasicBlock::iterator MI) const {
 1576   MachineBasicBlock &B = *MI.getParent();
 1603   MachineBasicBlock::instr_iterator TI = T->getIterator();
 1681                                             const MachineBasicBlock *MBB,
 2981 bool HexagonInstrInfo::hasEHLabel(const MachineBasicBlock *B) const {
 3030 bool HexagonInstrInfo::hasUncondBranch(const MachineBasicBlock *B)
 3032   MachineBasicBlock::const_iterator I = B->getFirstTerminator(), E = B->end();
 3076       MachineBasicBlock::const_instr_iterator BII) const {
 3081   MachineBasicBlock::const_instr_iterator MII = BII;
 3082   MachineBasicBlock::const_instr_iterator MIE = MII->getParent()->instr_end();
 3230   MachineBasicBlock::instr_iterator I = MBB.instr_end();
 3574   const MachineBasicBlock *Src = MI.getParent();
 3587     const MachineBasicBlock *Dst = BrTarget.getMBB();
 3600     const MachineBasicBlock &B = *MI.getParent();
 3618       MachineBasicBlock::const_instr_iterator It(MI);
 3619       MachineBasicBlock::const_instr_iterator NextIt = std::next(It);
 3622         for (const MachineBasicBlock *SB : B.successors()) {
 3631         const MachineBasicBlock *BT = nullptr;
 4306     const MachineBasicBlock &MBB = *MI.getParent();
 4338 unsigned HexagonInstrInfo::nonDbgBBSize(const MachineBasicBlock *BB) const {
 4343       MachineBasicBlock::const_iterator BundleHead) const {
 4366       MachineInstr &MI, MachineBasicBlock *NewTarget) const {
 4389   MachineBasicBlock &B = *A;
 4390   MachineBasicBlock::iterator I = B.begin();
 4432 setBundleNoShuf(MachineBasicBlock::instr_iterator MIB) const {
lib/Target/Hexagon/HexagonInstrInfo.h
  106   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  106   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  107                      MachineBasicBlock *&FBB,
  114   unsigned removeBranch(MachineBasicBlock &MBB,
  127   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  127   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  128                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  135   analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const override;
  142   bool isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  152   bool isProfitableToIfCvt(MachineBasicBlock &TMBB,
  154                            MachineBasicBlock &FMBB,
  164   bool isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  175   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  175   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  183   void storeRegToStackSlot(MachineBasicBlock &MBB,
  184                            MachineBasicBlock::iterator MBBI,
  192   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  193                             MachineBasicBlock::iterator MBBI,
  218   void insertNoop(MachineBasicBlock &MBB,
  219                   MachineBasicBlock::iterator MI) const override;
  251                             const MachineBasicBlock *MBB,
  340   MachineInstr *findLoopInstr(MachineBasicBlock *BB, unsigned EndLoopOp,
  341                               MachineBasicBlock *TargetBB,
  342                               SmallPtrSet<MachineBasicBlock *, 8> &Visited) const;
  415   bool hasEHLabel(const MachineBasicBlock *B) const;
  418   bool hasUncondBranch(const MachineBasicBlock *B) const;
  424                      MachineBasicBlock::const_instr_iterator MII) const;
  432   SmallVector<MachineInstr*,2> getBranchingInstrs(MachineBasicBlock& MBB) const;
  466   MachineBasicBlock::instr_iterator expandVGatherPseudo(MachineInstr &MI) const;
  470   unsigned nonDbgBBSize(const MachineBasicBlock *BB) const;
  471   unsigned nonDbgBundleSize(MachineBasicBlock::const_iterator BundleHead) const;
  475                                  MachineBasicBlock *NewTarget) const;
  481   void setBundleNoShuf(MachineBasicBlock::instr_iterator MIB) const;
lib/Target/Hexagon/HexagonMachineScheduler.cpp
  119   MachineBasicBlock *MBB = SU->getInstr()->getParent();
lib/Target/Hexagon/HexagonNewValueJump.cpp
  118                                       MachineBasicBlock::iterator II,
  178       MachineBasicBlock::iterator localII = II;
  181       for (MachineBasicBlock::iterator localBegin = localII; localBegin != end;
  200                           MachineBasicBlock::iterator MII) {
  239                                      MachineBasicBlock::iterator II,
  303   for (MachineBasicBlock::iterator localII = II; localII != end; ++localII) {
  336                                       MachineBasicBlock *jmpTarget,
  340   MachineBasicBlock *Src = MI->getParent();
  474     MachineBasicBlock *MBB = &*MBBb;
  486     MachineBasicBlock::iterator jmpPos;
  487     MachineBasicBlock::iterator cmpPos;
  489     MachineBasicBlock *jmpTarget = nullptr;
  494     for (MachineBasicBlock::iterator MII = MBB->end(), E = MBB->begin();
  537         for (MachineBasicBlock::const_succ_iterator SI = MBB->succ_begin(),
  540           MachineBasicBlock *succMBB = *SI;
  600         MachineBasicBlock::iterator feederPos = MII;
lib/Target/Hexagon/HexagonOptAddrMode.cpp
  485   MachineBasicBlock *BB = OldMI->getParent();
  487   MachineBasicBlock::instr_iterator InsertPt = UsePos.getInstrIterator();
  548   MachineBasicBlock *BB = OldMI->getParent();
  550   MachineBasicBlock::instr_iterator InsertPt = UsePos.getInstrIterator();
  628     MachineBasicBlock::instr_iterator InsertPt = UsePos.getInstrIterator();
  635     MachineBasicBlock *BB = UseMI->getParent();
lib/Target/Hexagon/HexagonPeephole.cpp
  125     MachineBasicBlock *MBB = &*MBBb;
lib/Target/Hexagon/HexagonRegisterInfo.cpp
  180 void HexagonRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  188   MachineBasicBlock &MB = *MI.getParent();
lib/Target/Hexagon/HexagonRegisterInfo.h
   41   void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp
   72   for (MachineBasicBlock &B : Fn) {
lib/Target/Hexagon/HexagonSplitDouble.cpp
  454         const MachineBasicBlock *PB = UseI->getParent();
  478   const MachineBasicBlock *HB = L->getHeader();
  479   const MachineBasicBlock *LB = L->getLoopLatch();
  485   MachineBasicBlock *TB = nullptr, *FB = nullptr;
  486   MachineBasicBlock *TmpLB = const_cast<MachineBasicBlock*>(LB);
  596   MachineBasicBlock &B = *MI->getParent();
  635   MachineBasicBlock &B = *MI->getParent();
  707   MachineBasicBlock &B = *MI->getParent();
  734   MachineBasicBlock &B = *MI->getParent();
  763   MachineBasicBlock &B = *MI->getParent();
  800   MachineBasicBlock &B = *MI->getParent();
  920   MachineBasicBlock &B = *MI->getParent();
 1101   MachineBasicBlock &B = *MI->getParent();
 1181     MachineBasicBlock *B = MI->getParent();
lib/Target/Hexagon/HexagonStoreWidening.cpp
   99     void createStoreGroups(MachineBasicBlock &MBB,
  101     bool processBasicBlock(MachineBasicBlock &MBB);
  208 void HexagonStoreWidening::createStoreGroups(MachineBasicBlock &MBB,
  483   MachineBasicBlock *MBB = OG.back()->getParent();
  484   MachineBasicBlock::iterator InsertAt = MBB->end();
  567 bool HexagonStoreWidening::processBasicBlock(MachineBasicBlock &MBB) {
  599   for (auto &B : MFn)
lib/Target/Hexagon/HexagonVExtract.cpp
   68   MachineBasicBlock &ExtB = *ExtI->getParent();
  109   for (MachineBasicBlock &MBB : MF) {
  128     MachineBasicBlock::iterator At = std::next(DefI->getIterator());
  129     MachineBasicBlock &DefB = *DefI->getParent();
  145       MachineBasicBlock &ExtB = *ExtI->getParent();
lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
  160 static MachineBasicBlock::iterator moveInstrOut(MachineInstr &MI,
  162   MachineBasicBlock::instr_iterator InsertPt;
  168   MachineBasicBlock &B = *MI.getParent();
  184   MachineBasicBlock::const_instr_iterator I = BundleIt.getInstrIterator();
  185   MachineBasicBlock::const_instr_iterator E = B.instr_end();
  196   MachineBasicBlock::iterator NextIt = std::next(BundleIt);
  231   for (MachineBasicBlock &MB : MF) {
  245   for (auto &MB : MF) {
  250       MachineBasicBlock::iterator RB = Begin;
  255       MachineBasicBlock::iterator RE = RB;
  369       SDep::Kind DepType, MachineBasicBlock::iterator &MII,
  400       const SUnit *PacketSU, unsigned DepReg, MachineBasicBlock::iterator &MII,
  451       SDep::Kind DepType, MachineBasicBlock::iterator &MII,
  814       MachineBasicBlock::iterator &MII) {
  843       const SUnit *PacketSU, unsigned DepReg, MachineBasicBlock::iterator &MII,
 1036                                                     const MachineBasicBlock *) {
 1149   for (auto &B : MF) {
 1150     MachineBasicBlock::iterator BundleIt;
 1151     MachineBasicBlock::instr_iterator NextI;
 1319   MachineBasicBlock::iterator II = I.getIterator();
 1347   MachineBasicBlock::iterator NextMII = I.getIterator();
 1687 MachineBasicBlock::iterator
 1689   MachineBasicBlock::iterator MII = MI.getIterator();
 1690   MachineBasicBlock *MBB = MI.getParent();
 1764 void HexagonPacketizerList::endPacket(MachineBasicBlock *MBB,
 1765                                       MachineBasicBlock::iterator EndMI) {
 1787     MachineBasicBlock::instr_iterator NextMI = std::next(MI->getIterator());
 1794     MachineBasicBlock::instr_iterator FirstMI(OldPacketMIs.front());
 1795     MachineBasicBlock::instr_iterator LastMI(EndMI.getInstrIterator());
 1829     auto *OldBB = OldPacketMIs.front()->getParent();
lib/Target/Hexagon/HexagonVLIWPacketizer.h
   80                                const MachineBasicBlock *MBB) override;
   95   MachineBasicBlock::iterator addToPacket(MachineInstr &MI) override;
   96   void endPacket(MachineBasicBlock *MBB,
   97                  MachineBasicBlock::iterator MI) override;
  112                        MachineBasicBlock::iterator &MII,
  115                           unsigned DepReg, MachineBasicBlock::iterator &MII,
  120                        MachineBasicBlock::iterator &MII,
  123                           unsigned DepReg, MachineBasicBlock::iterator &MII,
  126                             unsigned DepReg, MachineBasicBlock::iterator &MII);
lib/Target/Hexagon/HexagonVectorPrint.cpp
   95 static void addAsmInstr(MachineBasicBlock *MBB, unsigned Reg,
   96                         MachineBasicBlock::instr_iterator I,
  136   for (auto &MBB : Fn)
  139         MachineBasicBlock::instr_iterator MII = MI.getIterator();
  165     MachineBasicBlock *MBB = I->getParent();
  170     MachineBasicBlock::instr_iterator MII = I->getIterator();
lib/Target/Hexagon/RDFCopy.cpp
   68 bool CopyPropagation::scanBlock(MachineBasicBlock *B) {
lib/Target/Hexagon/RDFCopy.h
   53     bool scanBlock(MachineBasicBlock *B);
lib/Target/Hexagon/RDFGraph.cpp
  267   MachineBasicBlock *BB = P.Obj.Addr->getCode();
  281   for (MachineBasicBlock *B : BB->predecessors())
  288   for (MachineBasicBlock *B : BB->successors())
  576 NodeAddr<BlockNode*> FuncNode::findBlock(const MachineBasicBlock *BB,
  589   MachineBasicBlock *EntryB = &getCode()->front();
  852       MachineBasicBlock *BB) {
  873   for (MachineBasicBlock &B : MF) {
  895   MachineBasicBlock &EntryB = *EA.Addr->getCode();
  922       const MachineBasicBlock &B = *BA.Addr->getCode();
  928       for (MachineBasicBlock *PB : B.predecessors())
 1388   MachineBasicBlock *BB = BA.Addr->getCode();
 1406   SetVector<MachineBasicBlock*> IDF(DF.begin(), DF.end());
 1470   const MachineBasicBlock *MBB = BA.Addr->getCode();
 1471   for (MachineBasicBlock *PB : MBB->predecessors())
 1678     MachineBasicBlock *SB = I->getBlock();
 1693   MachineBasicBlock *MBB = BA.Addr->getCode();
 1695   for (MachineBasicBlock *SB : MBB->successors()) {
lib/Target/Hexagon/RDFGraph.h
  627     MachineBasicBlock *getCode() const {
  628       return CodeNode::getCode<MachineBasicBlock*>();
  639     NodeAddr<BlockNode*> findBlock(const MachineBasicBlock *BB,
  768     NodeAddr<BlockNode*> findBlock(MachineBasicBlock *BB) const {
  837         MachineBasicBlock *BB);
  881     std::map<MachineBasicBlock*,NodeAddr<BlockNode*>> BlockNodes;
lib/Target/Hexagon/RDFLiveness.cpp
  182     MachineBasicBlock *BA = Block(OA), *BB = Block(OB);
  362     MachineBasicBlock *BB = BA.Addr->getCode();
  687     MachineBasicBlock *BB = BA.Addr->getCode();
  699   for (MachineBasicBlock &B : MF) {
  703     SetVector<MachineBasicBlock*> IDFB(F1->second.begin(), F1->second.end());
  725     MachineBasicBlock *MB = BA.Addr->getCode();
  810     for (MachineBasicBlock &B : MF) {
  836   for (auto &B : DFG.getMF()) {
  853   for (auto &B : DFG.getMF())
  857 void Liveness::resetKills(MachineBasicBlock *B) {
  921 MachineBasicBlock *Liveness::getBlockWithRef(NodeId RN) const {
  928 void Liveness::traverse(MachineBasicBlock *B, RefMap &LiveIn) {
  956     MachineBasicBlock *SB = I->getBlock();
lib/Target/Hexagon/RDFLiveness.h
   40       RegisterAggr &operator[] (MachineBasicBlock *B) {
   46       std::map<MachineBasicBlock*,RegisterAggr> Map;
   95     void resetKills(MachineBasicBlock *B);
  113     using NodeBlockMap = DenseMap<NodeId, MachineBasicBlock *>;
  124     std::map<MachineBasicBlock*,std::set<MachineBasicBlock*>> IIDF;
  124     std::map<MachineBasicBlock*,std::set<MachineBasicBlock*>> IIDF;
  127     std::map<MachineBasicBlock*,RefMap> PhiLON;
  134     std::map<MachineBasicBlock*,RefMap> PhiLOX;
  136     MachineBasicBlock *getBlockWithRef(NodeId RN) const;
  137     void traverse(MachineBasicBlock *B, RefMap &LiveIn);
lib/Target/Hexagon/RDFRegisters.cpp
   77   for (const MachineBasicBlock &B : mf)
lib/Target/Lanai/LanaiAsmPrinter.cpp
   56       const MachineBasicBlock *MBB) const override;
  198   MachineBasicBlock::const_instr_iterator I = MI->getIterator();
  199   MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
  216     const MachineBasicBlock *MBB) const {
  218   const MachineBasicBlock *Pred = *MBB->pred_begin();
  232   MachineBasicBlock::const_iterator I = Pred->end();
lib/Target/Lanai/LanaiDelaySlotFiller.cpp
   39   MachineBasicBlock::instr_iterator LastFiller;
   46   bool runOnMachineBasicBlock(MachineBasicBlock &MBB);
   65   void insertDefsUses(MachineBasicBlock::instr_iterator MI,
   71   bool delayHasHazard(MachineBasicBlock::instr_iterator MI, bool &SawLoad,
   75   bool findDelayInstr(MachineBasicBlock &MBB,
   76                       MachineBasicBlock::instr_iterator Slot,
   91 bool Filler::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
   95   for (MachineBasicBlock::instr_iterator I = MBB.instr_begin();
   98       MachineBasicBlock::instr_iterator InstrWithSlot = I;
   99       MachineBasicBlock::instr_iterator J = I;
  107         MachineBasicBlock::reverse_instr_iterator RI = ++I.getReverse();
  119         MachineBasicBlock::instr_iterator FI = RI.getReverse();
  144 bool Filler::findDelayInstr(MachineBasicBlock &MBB,
  145                             MachineBasicBlock::instr_iterator Slot,
  155   for (MachineBasicBlock::reverse_instr_iterator I = ++Slot.getReverse();
  162     MachineBasicBlock::instr_iterator FI = I.getReverse();
  178 bool Filler::delayHasHazard(MachineBasicBlock::instr_iterator MI, bool &SawLoad,
  225 void Filler::insertDefsUses(MachineBasicBlock::instr_iterator MI,
lib/Target/Lanai/LanaiFrameLowering.cpp
   70     MachineBasicBlock::iterator MBBI = MBB->begin();
   92                                       MachineBasicBlock &MBB) const {
   98   MachineBasicBlock::iterator MBBI = MBB.begin();
  141 MachineBasicBlock::iterator LanaiFrameLowering::eliminateCallFramePseudoInstr(
  179                                       MachineBasicBlock &MBB) const {
  180   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
lib/Target/Lanai/LanaiFrameLowering.h
   40   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   41   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   43   MachineBasicBlock::iterator
lib/Target/Lanai/LanaiInstrInfo.cpp
   34 void LanaiInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   35                                  MachineBasicBlock::iterator Position,
   50     MachineBasicBlock &MBB, MachineBasicBlock::iterator Position,
   50     MachineBasicBlock &MBB, MachineBasicBlock::iterator Position,
   70     MachineBasicBlock &MBB, MachineBasicBlock::iterator Position,
   70     MachineBasicBlock &MBB, MachineBasicBlock::iterator Position,
  292   MachineBasicBlock::iterator I = CmpInstr, E = MI,
  420       MachineBasicBlock *MBB = CmpInstr.getParent();
  421       for (MachineBasicBlock::succ_iterator SI = MBB->succ_begin(),
  562 bool LanaiInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  563                                    MachineBasicBlock *&TrueBlock,
  564                                    MachineBasicBlock *&FalseBlock,
  568   MachineBasicBlock::iterator Instruction = MBB.end();
  660 unsigned LanaiInstrInfo::insertBranch(MachineBasicBlock &MBB,
  661                                       MachineBasicBlock *TrueBlock,
  662                                       MachineBasicBlock *FalseBlock,
  692 unsigned LanaiInstrInfo::removeBranch(MachineBasicBlock &MBB,
  696   MachineBasicBlock::iterator Instruction = MBB.end();
lib/Target/Lanai/LanaiInstrInfo.h
   50   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator Position,
   50   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator Position,
   55   storeRegToStackSlot(MachineBasicBlock &MBB,
   56                       MachineBasicBlock::iterator Position,
   62   loadRegFromStackSlot(MachineBasicBlock &MBB,
   63                        MachineBasicBlock::iterator Position,
   86   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TrueBlock,
   86   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TrueBlock,
   87                      MachineBasicBlock *&FalseBlock,
   91   unsigned removeBranch(MachineBasicBlock &MBB,
  138   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TrueBlock,
  138   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TrueBlock,
  139                         MachineBasicBlock *FalseBlock,
lib/Target/Lanai/LanaiMemAluCombiner.cpp
   53 typedef MachineBasicBlock::iterator MbbIterator;
   78   void insertMergedInstruction(MachineBasicBlock *BB,
   81   bool combineMemAluInBasicBlock(MachineBasicBlock *BB);
  236 void LanaiMemAluCombiner::insertMergedInstruction(MachineBasicBlock *BB,
  364 bool LanaiMemAluCombiner::combineMemAluInBasicBlock(MachineBasicBlock *BB) {
lib/Target/Lanai/LanaiRegisterInfo.cpp
  136 void LanaiRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/Lanai/LanaiRegisterInfo.h
   39   void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
lib/Target/MSP430/MSP430BranchSelector.cpp
   96   for (auto &MBB : make_range(Begin, MF->end())) {
  128       MachineBasicBlock *DestBB = MI->getOperand(0).getMBB();
  152         MachineBasicBlock *NewBB =
  160         for (MachineBasicBlock *Succ : MBB->successors()) {
  184         MachineBasicBlock *NextMBB = &*std::next(MBB);
lib/Target/MSP430/MSP430FrameLowering.cpp
   41                                        MachineBasicBlock &MBB) const {
   48   MachineBasicBlock::iterator MBBI = MBB.begin();
  107                                        MachineBasicBlock &MBB) const {
  113   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
  141     MachineBasicBlock::iterator PI = std::prev(MBBI);
  180 MSP430FrameLowering::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  181                                            MachineBasicBlock::iterator MI,
  206 MSP430FrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  207                                                  MachineBasicBlock::iterator MI,
  225 MachineBasicBlock::iterator MSP430FrameLowering::eliminateCallFramePseudoInstr(
lib/Target/MSP430/MSP430FrameLowering.h
   30   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   31   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   33   MachineBasicBlock::iterator
   37   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   38                                  MachineBasicBlock::iterator MI,
   41   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   42                                   MachineBasicBlock::iterator MI,
lib/Target/MSP430/MSP430ISelLowering.cpp
 1409 MachineBasicBlock *
 1411                                      MachineBasicBlock *BB) const {
 1467   MachineBasicBlock *LoopBB = F->CreateMachineBasicBlock(LLVM_BB);
 1468   MachineBasicBlock *RemBB  = F->CreateMachineBasicBlock(LLVM_BB);
 1539 MachineBasicBlock *
 1541                                                   MachineBasicBlock *BB) const {
 1569   MachineBasicBlock *thisMBB = BB;
 1571   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
 1572   MachineBasicBlock *copy1MBB = F->CreateMachineBasicBlock(LLVM_BB);
lib/Target/MSP430/MSP430ISelLowering.h
  129     MachineBasicBlock *
  131                                 MachineBasicBlock *BB) const override;
  132     MachineBasicBlock *EmitShiftInstr(MachineInstr &MI,
  133                                       MachineBasicBlock *BB) const;
lib/Target/MSP430/MSP430InstrInfo.cpp
   36 void MSP430InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
   37                                           MachineBasicBlock::iterator MI,
   63 void MSP430InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
   64                                            MachineBasicBlock::iterator MI,
   90 void MSP430InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   91                                   MachineBasicBlock::iterator I,
  106 unsigned MSP430InstrInfo::removeBranch(MachineBasicBlock &MBB,
  110   MachineBasicBlock::iterator I = MBB.end();
  175 bool MSP430InstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  176                                     MachineBasicBlock *&TBB,
  177                                     MachineBasicBlock *&FBB,
  182   MachineBasicBlock::iterator I = MBB.end();
  265 unsigned MSP430InstrInfo::insertBranch(MachineBasicBlock &MBB,
  266                                        MachineBasicBlock *TBB,
  267                                        MachineBasicBlock *FBB,
lib/Target/MSP430/MSP430InstrInfo.h
   38   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   38   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   42   void storeRegToStackSlot(MachineBasicBlock &MBB,
   43                            MachineBasicBlock::iterator MI,
   48   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   49                             MachineBasicBlock::iterator MI,
   60   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   60   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   61                      MachineBasicBlock *&FBB,
   65   unsigned removeBranch(MachineBasicBlock &MBB,
   67   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   67   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   68                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
lib/Target/MSP430/MSP430RegisterInfo.cpp
  103 MSP430RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  109   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/MSP430/MSP430RegisterInfo.h
   35   void eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/Mips/MicroMipsSizeReduction.cpp
  125   MachineBasicBlock::instr_iterator
  129                      MachineBasicBlock::instr_iterator &argNextMII)
  151   bool ReduceMBB(MachineBasicBlock &MBB);
  154   bool ReduceMI(const MachineBasicBlock::instr_iterator &MII,
  414 bool MicroMipsSizeReduce::ReduceMI(const MachineBasicBlock::instr_iterator &MII,
  457   MachineBasicBlock::instr_iterator &NextMII = Arguments->NextMII;
  458   const MachineBasicBlock::instr_iterator &E =
  614   MachineBasicBlock::instr_iterator &NextMII = Arguments->NextMII;
  615   const MachineBasicBlock::instr_iterator &E =
  671 bool MicroMipsSizeReduce::ReduceMBB(MachineBasicBlock &MBB) {
  673   MachineBasicBlock::instr_iterator MII = MBB.instr_begin(),
  675   MachineBasicBlock::instr_iterator NextMII;
  708     MachineBasicBlock &MBB = *MI->getParent();
lib/Target/Mips/Mips16FrameLowering.cpp
   43                                        MachineBasicBlock &MBB) const {
   47   MachineBasicBlock::iterator MBBI = MBB.begin();
   92                                  MachineBasicBlock &MBB) const {
   93   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
  113 spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  114                           MachineBasicBlock::iterator MI,
  140 bool Mips16FrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  141                                           MachineBasicBlock::iterator MI,
lib/Target/Mips/Mips16FrameLowering.h
   25   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   26   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   28   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   29                                  MachineBasicBlock::iterator MI,
   33   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   34                                   MachineBasicBlock::iterator MI,
lib/Target/Mips/Mips16ISelDAGToDAG.cpp
   70   MachineBasicBlock &MBB = MF.front();
   71   MachineBasicBlock::iterator I = MBB.begin();
lib/Target/Mips/Mips16ISelLowering.cpp
  163 MachineBasicBlock *
  165                                                   MachineBasicBlock *BB) const {
  510 MachineBasicBlock *
  512                                 MachineBasicBlock *BB) const {
  530   MachineBasicBlock *thisMBB  = BB;
  532   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
  533   MachineBasicBlock *sinkMBB  = F->CreateMachineBasicBlock(LLVM_BB);
  573 MachineBasicBlock *
  575                                  MachineBasicBlock *BB) const {
  593   MachineBasicBlock *thisMBB  = BB;
  595   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
  596   MachineBasicBlock *sinkMBB  = F->CreateMachineBasicBlock(LLVM_BB);
  638 MachineBasicBlock *
  641                                   MachineBasicBlock *BB) const {
  659   MachineBasicBlock *thisMBB  = BB;
  661   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
  662   MachineBasicBlock *sinkMBB  = F->CreateMachineBasicBlock(LLVM_BB);
  704 MachineBasicBlock *
  707                                           MachineBasicBlock *BB) const {
  713   MachineBasicBlock *target = MI.getOperand(2).getMBB();
  722 MachineBasicBlock *Mips16TargetLowering::emitFEXT_T8I8I16_ins(
  724     MachineInstr &MI, MachineBasicBlock *BB) const {
  730   MachineBasicBlock *target = MI.getOperand(2).getMBB();
  755 MachineBasicBlock *
  757                                           MachineBasicBlock *BB) const {
  773 MachineBasicBlock *
  776                                            MachineBasicBlock *BB) const {
lib/Target/Mips/Mips16ISelLowering.h
   29     MachineBasicBlock *
   31                                 MachineBasicBlock *MBB) const override;
   53     MachineBasicBlock *emitSel16(unsigned Opc, MachineInstr &MI,
   54                                  MachineBasicBlock *BB) const;
   56     MachineBasicBlock *emitSeliT16(unsigned Opc1, unsigned Opc2,
   58                                    MachineBasicBlock *BB) const;
   60     MachineBasicBlock *emitSelT16(unsigned Opc1, unsigned Opc2,
   62                                   MachineBasicBlock *BB) const;
   64     MachineBasicBlock *emitFEXT_T8I816_ins(unsigned BtOpc, unsigned CmpOpc,
   66                                            MachineBasicBlock *BB) const;
   68     MachineBasicBlock *emitFEXT_T8I8I16_ins(unsigned BtOpc, unsigned CmpiOpc,
   71                                             MachineBasicBlock *BB) const;
   73     MachineBasicBlock *emitFEXT_CCRX16_ins(unsigned SltOpc, MachineInstr &MI,
   74                                            MachineBasicBlock *BB) const;
   76     MachineBasicBlock *emitFEXT_CCRXI16_ins(unsigned SltiOpc, unsigned SltiXOpc,
   78                                             MachineBasicBlock *BB) const;
lib/Target/Mips/Mips16InstrInfo.cpp
   69 void Mips16InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   70                                   MachineBasicBlock::iterator I,
  110 void Mips16InstrInfo::storeRegToStack(MachineBasicBlock &MBB,
  111                                       MachineBasicBlock::iterator I,
  128 void Mips16InstrInfo::loadRegFromStack(MachineBasicBlock &MBB,
  129                                        MachineBasicBlock::iterator I,
  147   MachineBasicBlock &MBB = *MI.getParent();
  215                                 MachineBasicBlock &MBB,
  216                                 MachineBasicBlock::iterator I) const {
  245                                    MachineBasicBlock &MBB,
  246                                    MachineBasicBlock::iterator I) const {
  280                                         MachineBasicBlock &MBB,
  281                                         MachineBasicBlock::iterator I,
  304     unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
  305     MachineBasicBlock::iterator I) const {
  311                                      MachineBasicBlock &MBB,
  312                                      MachineBasicBlock::iterator I) const {
  325                                         MachineBasicBlock &MBB,
  326                                         MachineBasicBlock::iterator II,
  452 void Mips16InstrInfo::ExpandRetRA16(MachineBasicBlock &MBB,
  453                                   MachineBasicBlock::iterator I,
  466   (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const {
  466   (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const {
lib/Target/Mips/Mips16InstrInfo.h
   51   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   51   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   55   void storeRegToStack(MachineBasicBlock &MBB,
   56                        MachineBasicBlock::iterator MBBI,
   62   void loadRegFromStack(MachineBasicBlock &MBB,
   63                         MachineBasicBlock::iterator MBBI,
   74   void makeFrame(unsigned SP, int64_t FrameSize, MachineBasicBlock &MBB,
   75                  MachineBasicBlock::iterator I) const;
   78   void restoreFrame(unsigned SP, int64_t FrameSize, MachineBasicBlock &MBB,
   79                       MachineBasicBlock::iterator I) const;
   82   void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
   83                       MachineBasicBlock::iterator I) const override;
   88   unsigned loadImmediate(unsigned FrameReg, int64_t Imm, MachineBasicBlock &MBB,
   89                          MachineBasicBlock::iterator II, const DebugLoc &DL,
  103     (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const;
  103     (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const;
  115   void ExpandRetRA16(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  115   void ExpandRetRA16(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  119   void adjustStackPtrBig(unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
  120                          MachineBasicBlock::iterator I,
  125                                      MachineBasicBlock &MBB,
  126                                      MachineBasicBlock::iterator I) const;
lib/Target/Mips/Mips16RegisterInfo.cpp
   57   (MachineBasicBlock &MBB,
   58    MachineBasicBlock::iterator I,
   75 void Mips16RegisterInfo::eliminateFI(MachineBasicBlock::iterator II,
  134     MachineBasicBlock &MBB = *MI.getParent();
lib/Target/Mips/Mips16RegisterInfo.h
   31   bool saveScavengerRegister(MachineBasicBlock &MBB,
   32                                      MachineBasicBlock::iterator I,
   40   void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo,
lib/Target/Mips/MipsAsmPrinter.cpp
  252   MachineBasicBlock::const_instr_iterator I = MI->getIterator();
  253   MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
  464 void MipsAsmPrinter::EmitBasicBlockEnd(const MachineBasicBlock &MBB) {
  474 bool MipsAsmPrinter::isBlockOnlyReachableByFallthrough(const MachineBasicBlock*
  477   const MachineBasicBlock *Pred = *MBB->pred_begin();
  491   MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(), PI2 = PI;
  507   MachineBasicBlock::const_iterator I = Pred->end();
 1278       const std::vector<MachineBasicBlock*> &MBBs = JT[I].MBBs;
 1286   for (auto &MBB : MF) {
lib/Target/Mips/MipsAsmPrinter.h
  144   void EmitBasicBlockEnd(const MachineBasicBlock &MBB) override;
  146                                    const MachineBasicBlock* MBB) const override;
lib/Target/Mips/MipsBranchExpansion.cpp
  123 using Iter = MachineBasicBlock::iterator;
  124 using ReverseIter = MachineBasicBlock::reverse_iterator;
  154   void splitMBB(MachineBasicBlock *MBB);
  158   void replaceBranch(MachineBasicBlock &MBB, Iter Br, const DebugLoc &DL,
  160   bool buildProperJumpMI(MachineBasicBlock *MBB,
  161                          MachineBasicBlock::iterator Pos, DebugLoc DL);
  206       MachineBasicBlock *Succ = Parent->getNextNode();
  225 static MachineBasicBlock *getTargetMBB(const MachineInstr &Br) {
  247 void MipsBranchExpansion::splitMBB(MachineBasicBlock *MBB) {
  267   MachineBasicBlock *NewMBB =
  271   MachineBasicBlock *Tgt = getTargetMBB(*FirstBr);
  286   for (auto &MBB : *MFp)
  294     MachineBasicBlock *MBB = MFp->getBlockNumbered(I);
  297     for (MachineBasicBlock::instr_iterator MI = MBB->instr_begin();
  334 void MipsBranchExpansion::replaceBranch(MachineBasicBlock &MBB, Iter Br,
  359     MachineBasicBlock::instr_iterator II = Br.getInstrIterator();
  365 bool MipsBranchExpansion::buildProperJumpMI(MachineBasicBlock *MBB,
  366                                             MachineBasicBlock::iterator Pos,
  400   MachineBasicBlock::iterator Pos;
  401   MachineBasicBlock *MBB = I.Br->getParent(), *TgtMBB = getTargetMBB(*I.Br);
  405   MachineBasicBlock *LongBrMBB = MFp->CreateMachineBasicBlock(BB);
  411     MachineBasicBlock *BalTgtMBB = MFp->CreateMachineBasicBlock(BB);
  721   MachineBasicBlock &MBB = F.front();
  722   MachineBasicBlock::iterator I = MBB.begin();
  757         MachineBasicBlock::instr_iterator Iit = I->getIterator();
  787       MachineBasicBlock *MBB = MFp->getBlockNumbered(I);
lib/Target/Mips/MipsConstantIslandPass.cpp
  186   using Iter = MachineBasicBlock::iterator;
  187   using ReverseIter = MachineBasicBlock::reverse_iterator;
  233     std::vector<MachineBasicBlock*> WaterList;
  237     SmallSet<MachineBasicBlock*, 4> NewWaterList;
  239     using water_iterator = std::vector<MachineBasicBlock *>::iterator;
  256       MachineBasicBlock *HighWaterMark;
  385     void computeBlockSize(MachineBasicBlock *MBB);
  386     MachineBasicBlock *splitBlockBeforeInstr(MachineInstr &MI);
  387     void updateForInsertedWaterBlock(MachineBasicBlock *NewBB);
  388     void adjustBBOffsetsAfter(MachineBasicBlock *BB);
  395                         MachineBasicBlock *&NewMBB);
  402     bool isWaterInRange(unsigned UserOffset, MachineBasicBlock *Water,
  404     bool isBBInRange(MachineInstr *MI, MachineBasicBlock *BB, unsigned Disp);
  528   MachineBasicBlock *BB = MF->CreateMachineBasicBlock();
  546   SmallVector<MachineBasicBlock::iterator, 8> InsPoint(Log2(MaxAlign) + 1,
  565     MachineBasicBlock::iterator InsAt = InsPoint[LogAlign];
  589 static bool BBHasFallthrough(MachineBasicBlock *MBB) {
  596   MachineBasicBlock *NextBB = &*std::next(MBBI);
  597   for (MachineBasicBlock::succ_iterator I = MBB->succ_begin(),
  653   for (MachineBasicBlock &MBB : *MF) {
  790 void MipsConstantIslands::computeBlockSize(MachineBasicBlock *MBB) {
  802   MachineBasicBlock *MBB = MI->getParent();
  810   for (MachineBasicBlock::iterator I = MBB->begin(); &*I != MI; ++I) {
  819 static bool CompareMBBNumbers(const MachineBasicBlock *LHS,
  820                               const MachineBasicBlock *RHS) {
  828   (MachineBasicBlock *NewBB) {
  849 MachineBasicBlock *
  851   MachineBasicBlock *OrigBB = MI.getParent();
  854   MachineBasicBlock *NewBB =
  889   MachineBasicBlock* WaterBB = *IP;
  935                                         MachineBasicBlock* Water, CPUser &U,
 1000 static bool BBIsJumpedOver(MachineBasicBlock *MBB) {
 1003   MachineBasicBlock *Succ = *MBB->succ_begin();
 1004   MachineBasicBlock *Pred = *MBB->pred_begin();
 1012 void MipsConstantIslands::adjustBBOffsetsAfter(MachineBasicBlock *BB) {
 1176     MachineBasicBlock* WaterBB = *IP;
 1214                                         MachineBasicBlock *&NewMBB) {
 1218   MachineBasicBlock *UserMBB = UserMI->getParent();
 1277   MachineBasicBlock::iterator MI = UserMI;
 1325   MachineBasicBlock *NewIsland = MF->CreateMachineBasicBlock();
 1326   MachineBasicBlock *NewMBB;
 1330     MachineBasicBlock *WaterBB = *IP;
 1356     MachineBasicBlock *WaterBB = &*--NewMBB->getIterator();
 1417   MachineBasicBlock *CPEBB = CPEMI->getParent();
 1460   (MachineInstr *MI,MachineBasicBlock *DestBB, unsigned MaxDisp) {
 1487   MachineBasicBlock *DestBB = MI->getOperand(TargetOperand).getMBB();
 1505   MachineBasicBlock *MBB = MI->getParent();
 1506   MachineBasicBlock *DestBB = MI->getOperand(0).getMBB();
 1546   MachineBasicBlock *DestBB = MI->getOperand(TargetOperand).getMBB();
 1569   MachineBasicBlock *MBB = MI->getParent();
 1586       MachineBasicBlock *NewDest =
 1609   MachineBasicBlock *NextBB = &*++MBB->getIterator();
 1644     for (MachineBasicBlock::instr_iterator I =
lib/Target/Mips/MipsDelaySlotFiller.cpp
  106   using Iter = MachineBasicBlock::iterator;
  107   using ReverseIter = MachineBasicBlock::reverse_iterator;
  108   using BB2BrMap = SmallDenseMap<MachineBasicBlock *, MachineInstr *, 2>;
  124     void addLiveOut(const MachineBasicBlock &MBB,
  125                     const MachineBasicBlock &SuccBB);
  249     bool runOnMachineBasicBlock(MachineBasicBlock &MBB);
  263     bool searchRange(MachineBasicBlock &MBB, IterTy Begin, IterTy End,
  269     bool searchBackward(MachineBasicBlock &MBB, MachineInstr &Slot) const;
  273     bool searchForward(MachineBasicBlock &MBB, Iter Slot) const;
  278     bool searchSuccBBs(MachineBasicBlock &MBB, Iter Slot) const;
  282     MachineBasicBlock *selectSuccBB(MachineBasicBlock &B) const;
  282     MachineBasicBlock *selectSuccBB(MachineBasicBlock &B) const;
  287     getBranch(MachineBasicBlock &MBB, const MachineBasicBlock &Dst) const;
  287     getBranch(MachineBasicBlock &MBB, const MachineBasicBlock &Dst) const;
  291     bool examinePred(MachineBasicBlock &Pred, const MachineBasicBlock &Succ,
  291     bool examinePred(MachineBasicBlock &Pred, const MachineBasicBlock &Succ,
  404 void RegDefsUses::addLiveOut(const MachineBasicBlock &MBB,
  405                              const MachineBasicBlock &SuccBB) {
  406   for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(),
  597 bool MipsDelaySlotFiller::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
  628         MachineBasicBlock::instr_iterator DSI = I.getInstrIterator();
  676 bool MipsDelaySlotFiller::searchRange(MachineBasicBlock &MBB, IterTy Begin,
  741 bool MipsDelaySlotFiller::searchBackward(MachineBasicBlock &MBB,
  753   MachineBasicBlock::iterator SlotI = Slot;
  764 bool MipsDelaySlotFiller::searchForward(MachineBasicBlock &MBB,
  785 bool MipsDelaySlotFiller::searchSuccBBs(MachineBasicBlock &MBB,
  790   MachineBasicBlock *SuccBB = selectSuccBB(MBB);
  803   for (MachineBasicBlock::pred_iterator PI = SuccBB->pred_begin(),
  832 MachineBasicBlock *
  833 MipsDelaySlotFiller::selectSuccBB(MachineBasicBlock &B) const {
  839   MachineBasicBlock *S = *std::max_element(
  849 MipsDelaySlotFiller::getBranch(MachineBasicBlock &MBB,
  850                                const MachineBasicBlock &Dst) const {
  853   MachineBasicBlock *TrueBB = nullptr, *FalseBB = nullptr;
  885 bool MipsDelaySlotFiller::examinePred(MachineBasicBlock &Pred,
  886                                       const MachineBasicBlock &Succ,
lib/Target/Mips/MipsExpandPseudo.cpp
   53     bool expandAtomicCmpSwap(MachineBasicBlock &MBB,
   54                              MachineBasicBlock::iterator MBBI,
   56     bool expandAtomicCmpSwapSubword(MachineBasicBlock &MBB,
   57                                     MachineBasicBlock::iterator MBBI,
   60     bool expandAtomicBinOp(MachineBasicBlock &BB,
   61                            MachineBasicBlock::iterator I,
   63     bool expandAtomicBinOpSubword(MachineBasicBlock &BB,
   64                                   MachineBasicBlock::iterator I,
   67     bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   67     bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   69     bool expandMBB(MachineBasicBlock &MBB);
   75     MachineBasicBlock &BB, MachineBasicBlock::iterator I,
   75     MachineBasicBlock &BB, MachineBasicBlock::iterator I,
  114   MachineBasicBlock *loop1MBB = MF->CreateMachineBasicBlock(LLVM_BB);
  115   MachineBasicBlock *loop2MBB = MF->CreateMachineBasicBlock(LLVM_BB);
  116   MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  117   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  202 bool MipsExpandPseudo::expandAtomicCmpSwap(MachineBasicBlock &BB,
  203                                            MachineBasicBlock::iterator I,
  251   MachineBasicBlock *loop1MBB = MF->CreateMachineBasicBlock(LLVM_BB);
  252   MachineBasicBlock *loop2MBB = MF->CreateMachineBasicBlock(LLVM_BB);
  253   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  303     MachineBasicBlock &BB, MachineBasicBlock::iterator I,
  303     MachineBasicBlock &BB, MachineBasicBlock::iterator I,
  388   MachineBasicBlock *loopMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  389   MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  390   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  482 bool MipsExpandPseudo::expandAtomicBinOp(MachineBasicBlock &BB,
  483                                          MachineBasicBlock::iterator I,
  578   MachineBasicBlock *loopMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  579   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  620 bool MipsExpandPseudo::expandMI(MachineBasicBlock &MBB,
  621                                 MachineBasicBlock::iterator MBBI,
  669 bool MipsExpandPseudo::expandMBB(MachineBasicBlock &MBB) {
  672   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  674     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
lib/Target/Mips/MipsFastISel.cpp
  946   MachineBasicBlock *BrBB = FuncInfo.MBB;
  954   MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)];
  955   MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)];
lib/Target/Mips/MipsFrameLowering.cpp
  137 MachineBasicBlock::iterator MipsFrameLowering::
lib/Target/Mips/MipsFrameLowering.h
   43   MachineBasicBlock::iterator
lib/Target/Mips/MipsISelLowering.cpp
 1263 static MachineBasicBlock *insertDivByZeroTrap(MachineInstr &MI,
 1264                                               MachineBasicBlock &MBB,
 1271   MachineBasicBlock::iterator I(MI);
 1293 MachineBasicBlock *
 1295                                                 MachineBasicBlock *BB) const {
 1421 MachineBasicBlock *
 1423                                      MachineBasicBlock *BB) const {
 1483   MachineBasicBlock::iterator II(MI);
 1538 MachineBasicBlock *MipsTargetLowering::emitSignExtendToI32InReg(
 1539     MachineInstr &MI, MachineBasicBlock *BB, unsigned Size, unsigned DstReg,
 1568 MachineBasicBlock *MipsTargetLowering::emitAtomicBinaryPartword(
 1569     MachineInstr &MI, MachineBasicBlock *BB, unsigned Size) const {
 1648   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
 1720 MachineBasicBlock *
 1722                                       MachineBasicBlock *BB) const {
 1745   MachineBasicBlock::iterator II(MI);
 1777 MachineBasicBlock *MipsTargetLowering::emitAtomicCmpSwapPartword(
 1778     MachineInstr &MI, MachineBasicBlock *BB, unsigned Size) const {
 1826   MachineBasicBlock *exitMBB = MF->CreateMachineBasicBlock(LLVM_BB);
 4414 MachineBasicBlock *MipsTargetLowering::emitPseudoSELECT(MachineInstr &MI,
 4415                                                         MachineBasicBlock *BB,
 4439   MachineBasicBlock *thisMBB  = BB;
 4441   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
 4442   MachineBasicBlock *sinkMBB  = F->CreateMachineBasicBlock(LLVM_BB);
 4492 MachineBasicBlock *MipsTargetLowering::emitPseudoD_SELECT(MachineInstr &MI,
 4493                                                           MachineBasicBlock *BB) const {
 4515   MachineBasicBlock *thisMBB = BB;
 4517   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
 4518   MachineBasicBlock *sinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
lib/Target/Mips/MipsISelLowering.h
  342     MachineBasicBlock *
  344                                 MachineBasicBlock *MBB) const override;
  692     MachineBasicBlock *emitSignExtendToI32InReg(MachineInstr &MI,
  693                                                 MachineBasicBlock *BB,
  697     MachineBasicBlock *emitAtomicBinary(MachineInstr &MI,
  698                                         MachineBasicBlock *BB) const;
  699     MachineBasicBlock *emitAtomicBinaryPartword(MachineInstr &MI,
  700                                                 MachineBasicBlock *BB,
  702     MachineBasicBlock *emitAtomicCmpSwap(MachineInstr &MI,
  703                                          MachineBasicBlock *BB) const;
  704     MachineBasicBlock *emitAtomicCmpSwapPartword(MachineInstr &MI,
  705                                                  MachineBasicBlock *BB,
  707     MachineBasicBlock *emitSEL_D(MachineInstr &MI, MachineBasicBlock *BB) const;
  707     MachineBasicBlock *emitSEL_D(MachineInstr &MI, MachineBasicBlock *BB) const;
  708     MachineBasicBlock *emitPseudoSELECT(MachineInstr &MI, MachineBasicBlock *BB,
  708     MachineBasicBlock *emitPseudoSELECT(MachineInstr &MI, MachineBasicBlock *BB,
  710     MachineBasicBlock *emitPseudoD_SELECT(MachineInstr &MI,
  711                                           MachineBasicBlock *BB) const;
lib/Target/Mips/MipsInstrInfo.cpp
   58 insertNoop(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI) const
   58 insertNoop(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI) const
   65 MipsInstrInfo::GetMemOperand(MachineBasicBlock &MBB, int FI,
   80                                   MachineBasicBlock *&BB,
   94 bool MipsInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
   95                                   MachineBasicBlock *&TBB,
   96                                   MachineBasicBlock *&FBB,
  105 void MipsInstrInfo::BuildCondBr(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  105 void MipsInstrInfo::BuildCondBr(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  120 unsigned MipsInstrInfo::insertBranch(MachineBasicBlock &MBB,
  121                                      MachineBasicBlock *TBB,
  122                                      MachineBasicBlock *FBB,
  154 unsigned MipsInstrInfo::removeBranch(MachineBasicBlock &MBB,
  158   MachineBasicBlock::reverse_iterator I = MBB.rbegin(), REnd = MBB.rend();
  191     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
  191     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
  191     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
  194   MachineBasicBlock::reverse_iterator I = MBB.rbegin(), REnd = MBB.rend();
  439     const MachineBasicBlock::iterator I) const {
  595                                   MachineBasicBlock::iterator I) const {
lib/Target/Mips/MipsInstrInfo.h
   63   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   63   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   64                      MachineBasicBlock *&FBB,
   68   unsigned removeBranch(MachineBasicBlock &MBB,
   71   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   71   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   72                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
   79   BranchType analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   79   BranchType analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   80                            MachineBasicBlock *&FBB,
   86   unsigned getEquivalentCompactForm(const MachineBasicBlock::iterator I) const;
   99   void insertNoop(MachineBasicBlock &MBB,
  100                   MachineBasicBlock::iterator MI) const override;
  112   void storeRegToStackSlot(MachineBasicBlock &MBB,
  113                            MachineBasicBlock::iterator MBBI,
  120   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  121                             MachineBasicBlock::iterator MBBI,
  128   virtual void storeRegToStack(MachineBasicBlock &MBB,
  129                                MachineBasicBlock::iterator MI,
  135   virtual void loadRegFromStack(MachineBasicBlock &MBB,
  136                                 MachineBasicBlock::iterator MI,
  143                               MachineBasicBlock &MBB,
  144                               MachineBasicBlock::iterator I) const = 0;
  149                                          MachineBasicBlock::iterator I) const;
  167   MachineMemOperand *GetMemOperand(MachineBasicBlock &MBB, int FI,
  174                      MachineBasicBlock *&BB,
  177   void BuildCondBr(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  177   void BuildCondBr(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
lib/Target/Mips/MipsInstructionSelector.cpp
  231   MachineBasicBlock &MBB = *I.getParent();
lib/Target/Mips/MipsMCInstLower.cpp
  206 MCOperand MipsMCInstLower::createSub(MachineBasicBlock *BB1,
  207                                      MachineBasicBlock *BB2,
lib/Target/Mips/MipsMCInstLower.h
   43   MCOperand createSub(MachineBasicBlock *BB1, MachineBasicBlock *BB2,
   43   MCOperand createSub(MachineBasicBlock *BB1, MachineBasicBlock *BB2,
lib/Target/Mips/MipsMachineFunction.cpp
   66   MachineBasicBlock &MBB = MF.front();
   67   MachineBasicBlock::iterator I = MBB.begin();
lib/Target/Mips/MipsOptimizePICCall.cpp
  150 static void setCallTargetReg(MachineBasicBlock *MBB,
  151                              MachineBasicBlock::iterator I) {
  230   MachineBasicBlock *MBB = MBBI.getNode()->getBlock();
  232   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;
lib/Target/Mips/MipsRegisterInfo.cpp
  257 eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
lib/Target/Mips/MipsRegisterInfo.h
   64   void eliminateFrameIndex(MachineBasicBlock::iterator II,
   78   virtual void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo,
lib/Target/Mips/MipsSEFrameLowering.cpp
   73   using Iter = MachineBasicBlock::iterator;
   75   bool expandInstr(MachineBasicBlock &MBB, Iter I);
   76   void expandLoadCCond(MachineBasicBlock &MBB, Iter I);
   77   void expandStoreCCond(MachineBasicBlock &MBB, Iter I);
   78   void expandLoadACC(MachineBasicBlock &MBB, Iter I, unsigned RegSize);
   79   void expandStoreACC(MachineBasicBlock &MBB, Iter I, unsigned MFHiOpc,
   81   bool expandCopy(MachineBasicBlock &MBB, Iter I);
   82   bool expandCopyACC(MachineBasicBlock &MBB, Iter I, unsigned MFHiOpc,
   84   bool expandBuildPairF64(MachineBasicBlock &MBB,
   85                           MachineBasicBlock::iterator I, bool FP64) const;
   86   bool expandExtractElementF64(MachineBasicBlock &MBB,
   87                                MachineBasicBlock::iterator I, bool FP64) const;
  107   for (auto &MBB : MF) {
  115 bool ExpandPseudo::expandInstr(MachineBasicBlock &MBB, Iter I) {
  167 void ExpandPseudo::expandLoadCCond(MachineBasicBlock &MBB, Iter I) {
  182 void ExpandPseudo::expandStoreCCond(MachineBasicBlock &MBB, Iter I) {
  197 void ExpandPseudo::expandLoadACC(MachineBasicBlock &MBB, Iter I,
  221 void ExpandPseudo::expandStoreACC(MachineBasicBlock &MBB, Iter I,
  244 bool ExpandPseudo::expandCopy(MachineBasicBlock &MBB, Iter I) {
  254 bool ExpandPseudo::expandCopyACC(MachineBasicBlock &MBB, Iter I,
  286 bool ExpandPseudo::expandBuildPairF64(MachineBasicBlock &MBB,
  287                                       MachineBasicBlock::iterator I,
  342 bool ExpandPseudo::expandExtractElementF64(MachineBasicBlock &MBB,
  343                                            MachineBasicBlock::iterator I,
  402                                        MachineBasicBlock &MBB) const {
  411   MachineBasicBlock::iterator MBBI = MBB.begin();
  561     MachineFunction &MF, MachineBasicBlock &MBB) const {
  563   MachineBasicBlock::iterator MBBI = MBB.begin();
  689                                        MachineBasicBlock &MBB) const {
  690   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
  709     MachineBasicBlock::iterator I = MBBI;
  723     MachineBasicBlock::iterator I = MBBI;
  748     MachineFunction &MF, MachineBasicBlock &MBB) const {
  749   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
  793 spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  794                           MachineBasicBlock::iterator MI,
lib/Target/Mips/MipsSEFrameLowering.h
   27   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   28   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   33   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   34                                  MachineBasicBlock::iterator MI,
   45                                  MachineBasicBlock &MBB) const;
   47                                  MachineBasicBlock &MBB) const;
lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  127 void MipsSEDAGToDAGISel::emitMCountABI(MachineInstr &MI, MachineBasicBlock &MBB,
  159   for (auto &MBB: MF) {
lib/Target/Mips/MipsSEISelDAGToDAG.h
  132   void emitMCountABI(MachineInstr &MI, MachineBasicBlock &MBB,
lib/Target/Mips/MipsSEISelLowering.cpp
 1065 MachineBasicBlock *
 1067                                                   MachineBasicBlock *BB) const {
 3020 MachineBasicBlock *
 3022                                    MachineBasicBlock *BB) const {
 3043   MachineBasicBlock *FBB = F->CreateMachineBasicBlock(LLVM_BB);
 3044   MachineBasicBlock *TBB = F->CreateMachineBasicBlock(LLVM_BB);
 3045   MachineBasicBlock *Sink  = F->CreateMachineBasicBlock(LLVM_BB);
 3089 MachineBasicBlock *MipsSETargetLowering::emitMSACBranchPseudo(
 3090     MachineInstr &MI, MachineBasicBlock *BB, unsigned BranchOp) const {
 3112   MachineBasicBlock *FBB = F->CreateMachineBasicBlock(LLVM_BB);
 3113   MachineBasicBlock *TBB = F->CreateMachineBasicBlock(LLVM_BB);
 3114   MachineBasicBlock *Sink  = F->CreateMachineBasicBlock(LLVM_BB);
 3168 MachineBasicBlock *
 3170                                   MachineBasicBlock *BB) const {
 3212 MachineBasicBlock *
 3214                                   MachineBasicBlock *BB) const {
 3243 MachineBasicBlock *
 3245                                     MachineBasicBlock *BB) const {
 3277 MachineBasicBlock *
 3279                                     MachineBasicBlock *BB) const {
 3325 MachineBasicBlock *MipsSETargetLowering::emitINSERT_DF_VIDX(
 3326     MachineInstr &MI, MachineBasicBlock *BB, unsigned EltSizeInBytes,
 3439 MachineBasicBlock *
 3441                                   MachineBasicBlock *BB) const {
 3472 MachineBasicBlock *
 3474                                   MachineBasicBlock *BB) const {
 3507 MachineBasicBlock *
 3509                                        MachineBasicBlock *BB) const {
 3562 MachineBasicBlock *
 3564                                        MachineBasicBlock *BB) const {
 3648 MachineBasicBlock *
 3650                                          MachineBasicBlock *BB,
 3753 MachineBasicBlock *
 3755                                           MachineBasicBlock *BB,
 3816 MachineBasicBlock *
 3818                                     MachineBasicBlock *BB) const {
 3845 MachineBasicBlock *
 3847                                     MachineBasicBlock *BB) const {
lib/Target/Mips/MipsSEISelLowering.h
   52     MachineBasicBlock *
   54                                 MachineBasicBlock *MBB) const override;
   91     MachineBasicBlock *emitBPOSGE32(MachineInstr &MI,
   92                                     MachineBasicBlock *BB) const;
   93     MachineBasicBlock *emitMSACBranchPseudo(MachineInstr &MI,
   94                                             MachineBasicBlock *BB,
   97     MachineBasicBlock *emitCOPY_FW(MachineInstr &MI,
   98                                    MachineBasicBlock *BB) const;
  100     MachineBasicBlock *emitCOPY_FD(MachineInstr &MI,
  101                                    MachineBasicBlock *BB) const;
  103     MachineBasicBlock *emitINSERT_FW(MachineInstr &MI,
  104                                      MachineBasicBlock *BB) const;
  106     MachineBasicBlock *emitINSERT_FD(MachineInstr &MI,
  107                                      MachineBasicBlock *BB) const;
  109     MachineBasicBlock *emitINSERT_DF_VIDX(MachineInstr &MI,
  110                                           MachineBasicBlock *BB,
  114     MachineBasicBlock *emitFILL_FW(MachineInstr &MI,
  115                                    MachineBasicBlock *BB) const;
  117     MachineBasicBlock *emitFILL_FD(MachineInstr &MI,
  118                                    MachineBasicBlock *BB) const;
  120     MachineBasicBlock *emitFEXP2_W_1(MachineInstr &MI,
  121                                      MachineBasicBlock *BB) const;
  123     MachineBasicBlock *emitFEXP2_D_1(MachineInstr &MI,
  124                                      MachineBasicBlock *BB) const;
  126     MachineBasicBlock *emitLD_F16_PSEUDO(MachineInstr &MI,
  127                                    MachineBasicBlock *BB) const;
  129     MachineBasicBlock *emitST_F16_PSEUDO(MachineInstr &MI,
  130                                    MachineBasicBlock *BB) const;
  132     MachineBasicBlock *emitFPEXTEND_PSEUDO(MachineInstr &MI,
  133                                            MachineBasicBlock *BB,
  136     MachineBasicBlock *emitFPROUND_PSEUDO(MachineInstr &MI,
  137                                           MachineBasicBlock *BBi,
lib/Target/Mips/MipsSEInstrInfo.cpp
   83 void MipsSEInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   84                                   MachineBasicBlock::iterator I,
  250 storeRegToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  250 storeRegToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  324 loadRegFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  324 loadRegFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  409   MachineBasicBlock &MBB = *MI.getParent();
  581                                      MachineBasicBlock &MBB,
  582                                      MachineBasicBlock::iterator I) const {
  608 unsigned MipsSEInstrInfo::loadImmediate(int64_t Imm, MachineBasicBlock &MBB,
  609                                         MachineBasicBlock::iterator II,
  677 void MipsSEInstrInfo::expandRetRA(MachineBasicBlock &MBB,
  678                                   MachineBasicBlock::iterator I) const {
  695 void MipsSEInstrInfo::expandERet(MachineBasicBlock &MBB,
  696                                  MachineBasicBlock::iterator I) const {
  712 void MipsSEInstrInfo::expandPseudoMFHiLo(MachineBasicBlock &MBB,
  713                                          MachineBasicBlock::iterator I,
  718 void MipsSEInstrInfo::expandPseudoMTLoHi(MachineBasicBlock &MBB,
  719                                          MachineBasicBlock::iterator I,
  748 void MipsSEInstrInfo::expandCvtFPInt(MachineBasicBlock &MBB,
  749                                      MachineBasicBlock::iterator I,
  772 void MipsSEInstrInfo::expandExtractElementF64(MachineBasicBlock &MBB,
  773                                               MachineBasicBlock::iterator I,
  815 void MipsSEInstrInfo::expandBuildPairF64(MachineBasicBlock &MBB,
  816                                          MachineBasicBlock::iterator I,
  875 void MipsSEInstrInfo::expandEhReturn(MachineBasicBlock &MBB,
  876                                      MachineBasicBlock::iterator I) const {
lib/Target/Mips/MipsSEInstrInfo.h
   45   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   45   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   49   void storeRegToStack(MachineBasicBlock &MBB,
   50                        MachineBasicBlock::iterator MI,
   56   void loadRegFromStack(MachineBasicBlock &MBB,
   57                         MachineBasicBlock::iterator MI,
   68   void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
   69                       MachineBasicBlock::iterator I) const override;
   74   unsigned loadImmediate(int64_t Imm, MachineBasicBlock &MBB,
   75                          MachineBasicBlock::iterator II, const DebugLoc &DL,
   88   void expandRetRA(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
   88   void expandRetRA(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
   90   void expandERet(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
   90   void expandERet(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
   95   void expandPseudoMFHiLo(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   95   void expandPseudoMFHiLo(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   98   void expandPseudoMTLoHi(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   98   void expandPseudoMTLoHi(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  112   void expandCvtFPInt(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  112   void expandCvtFPInt(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  115   void expandExtractElementF64(MachineBasicBlock &MBB,
  116                                MachineBasicBlock::iterator I, bool isMicroMips,
  118   void expandBuildPairF64(MachineBasicBlock &MBB,
  119                           MachineBasicBlock::iterator I, bool isMicroMips,
  121   void expandEhReturn(MachineBasicBlock &MBB,
  122                       MachineBasicBlock::iterator I) const;
lib/Target/Mips/MipsSERegisterInfo.cpp
  145 void MipsSERegisterInfo::eliminateFI(MachineBasicBlock::iterator II,
  220       MachineBasicBlock &MBB = *MI.getParent();
  239       MachineBasicBlock &MBB = *MI.getParent();
lib/Target/Mips/MipsSERegisterInfo.h
   33   void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo,
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
  411     const MachineBasicBlock &MBB) const {
  421     const MachineBasicBlock *PMBB = *I;
  437 void NVPTXAsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) {
lib/Target/NVPTX/NVPTXAsmPrinter.h
  203   void EmitBasicBlockStart(const MachineBasicBlock &MBB) override;
  275   bool isLoopHeaderOfNoUnroll(const MachineBasicBlock &MBB) const;
lib/Target/NVPTX/NVPTXFrameLowering.cpp
   33                                       MachineBasicBlock &MBB) const {
   75                                       MachineBasicBlock &MBB) const {}
   79 MachineBasicBlock::iterator NVPTXFrameLowering::eliminateCallFramePseudoInstr(
lib/Target/NVPTX/NVPTXFrameLowering.h
   25   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   26   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   30   MachineBasicBlock::iterator
lib/Target/NVPTX/NVPTXInstrInfo.cpp
   32 void NVPTXInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   33                                  MachineBasicBlock::iterator I,
   95 bool NVPTXInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
   96                                    MachineBasicBlock *&TBB,
   97                                    MachineBasicBlock *&FBB,
  101   MachineBasicBlock::iterator I = MBB.end();
  154 unsigned NVPTXInstrInfo::removeBranch(MachineBasicBlock &MBB,
  157   MachineBasicBlock::iterator I = MBB.end();
  180 unsigned NVPTXInstrInfo::insertBranch(MachineBasicBlock &MBB,
  181                                       MachineBasicBlock *TBB,
  182                                       MachineBasicBlock *FBB,
lib/Target/NVPTX/NVPTXInstrInfo.h
   51   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   51   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   56   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   56   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   57                      MachineBasicBlock *&FBB,
   60   unsigned removeBranch(MachineBasicBlock &MBB,
   62   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   62   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   63                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
lib/Target/NVPTX/NVPTXPeephole.cpp
   74   auto &MBB = *Root.getParent();
  105   auto &MBB = *Root.getParent();
  132   for (auto &MBB : MF) {
lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp
   58   for (MachineBasicBlock &MBB : MF) {
lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
   69   for (auto &BB : MF) {
  102   for (auto &BB : MF) {
lib/Target/NVPTX/NVPTXRegisterInfo.cpp
  112 void NVPTXRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/NVPTX/NVPTXRegisterInfo.h
   41   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
   61     for (MachineBasicBlock::iterator I = (*BI).begin(), E = (*BI).end();
lib/Target/PowerPC/PPCAsmPrinter.cpp
  359   const MachineBasicBlock &MBB = *MI.getParent();
  360   MachineBasicBlock::const_iterator MII(MI);
lib/Target/PowerPC/PPCBranchCoalescing.cpp
  137     MachineBasicBlock *BranchBlock;       // Block containing the branch
  138     MachineBasicBlock *BranchTargetBlock; // Block branched to
  139     MachineBasicBlock *FallThroughBlock;  // Fall-through if branch not taken
  178                           const MachineBasicBlock &MBB) const;
  180                     const MachineBasicBlock &MBB) const;
  183   void moveAndUpdatePHIs(MachineBasicBlock *SourceRegionMBB,
  184                          MachineBasicBlock *TargetRegionMBB);
  236   MachineBasicBlock *FalseMBB = nullptr;
  295   MachineBasicBlock *Succ =
  388 void PPCBranchCoalescing::moveAndUpdatePHIs(MachineBasicBlock *SourceMBB,
  389                                          MachineBasicBlock *TargetMBB) {
  391   MachineBasicBlock::iterator MI = SourceMBB->begin();
  392   MachineBasicBlock::iterator ME = SourceMBB->getFirstNonPHI();
  400   for (MachineBasicBlock::iterator Iter = MI; Iter != ME; Iter++) {
  422                                           const MachineBasicBlock &TargetMBB
  453                                     const MachineBasicBlock &TargetMBB
  535   for (MachineBasicBlock::iterator
  560   for (MachineBasicBlock::iterator
  652   MachineBasicBlock::iterator firstInstr =
  654   MachineBasicBlock::iterator lastInstr =
  657   MachineBasicBlock *Source = SourceRegion.MustMoveDown
  661   MachineBasicBlock::iterator Target =
  682   MachineBasicBlock::iterator I =
  731   for (MachineBasicBlock &MBB : MF) {
lib/Target/PowerPC/PPCBranchSelector.cpp
   50     unsigned GetAlignmentAdjustment(MachineBasicBlock &MBB, unsigned Offset);
   54                           const MachineBasicBlock *Src,
   55                           const MachineBasicBlock *Dest,
   82 unsigned PPCBSel::GetAlignmentAdjustment(MachineBasicBlock &MBB,
  122     MachineBasicBlock *MBB = &*MFI;
  155     MachineBasicBlock *MBB = &*MFI;
  177                                const MachineBasicBlock *Src,
  178                                const MachineBasicBlock *Dest,
  299       MachineBasicBlock &MBB = *MFI;
  301       for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
  303         MachineBasicBlock *Dest = nullptr;
lib/Target/PowerPC/PPCCTRLoops.cpp
  128 static bool verifyCTRBranch(MachineBasicBlock *MBB,
  129                             MachineBasicBlock::iterator I) {
  130   MachineBasicBlock::iterator BI = I;
  131   SmallSet<MachineBasicBlock *, 16>   Visited;
  132   SmallVector<MachineBasicBlock *, 8> Preds;
  147   for (MachineBasicBlock::iterator IE = MBB->begin();; --I) {
  181     for (MachineBasicBlock::pred_iterator PI = MBB->pred_begin(),
  204     MachineBasicBlock *MBB = &*I;
  208     for (MachineBasicBlock::iterator MII = MBB->getFirstTerminator(),
lib/Target/PowerPC/PPCEarlyReturn.cpp
   52     bool processBlock(MachineBasicBlock &ReturnMBB) {
   55       MachineBasicBlock::iterator I = ReturnMBB.begin();
   64       SmallVector<MachineBasicBlock*, 8> PredToRemove;
   65       for (MachineBasicBlock::pred_iterator PI = ReturnMBB.pred_begin(),
   72         for (MachineBasicBlock::iterator J = (*PI)->getLastNonDebugInstr();;) {
   82               MachineBasicBlock::iterator K = J--;
   96               MachineBasicBlock::iterator K = J--;
  111               MachineBasicBlock::iterator K = J--;
  154           MachineBasicBlock &PrevMBB = **ReturnMBB.pred_begin();
  185         MachineBasicBlock &B = *I++;
lib/Target/PowerPC/PPCExpandISEL.cpp
   51   MachineBasicBlock *TrueBlock;
   52   MachineBasicBlock *FalseBlock;
   53   MachineBasicBlock *NewSuccessor;
   54   MachineBasicBlock::iterator TrueBlockI;
   55   MachineBasicBlock::iterator FalseBlockI;
  158   for (MachineBasicBlock &MBB : *MF) {
  186   MachineBasicBlock::iterator PrevPushedMBBI = *PrevPushedMI;
  187   MachineBasicBlock::iterator MBBI = *MI;
  227         MachineBasicBlock *MBB = (*I)->getParent();
  335   MachineBasicBlock *Successor = nullptr;
  337   MachineBasicBlock::iterator MBBI = (*BIL.back());
  497   MachineBasicBlock *MBB = BIL.back()->getParent();
lib/Target/PowerPC/PPCFastISel.cpp
  771   MachineBasicBlock *BrBB = FuncInfo.MBB;
  772   MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)];
  773   MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)];
  805     MachineBasicBlock *Target = (Imm == 0) ? FBB : TBB;
 2361   MachineBasicBlock::iterator I(MI);
lib/Target/PowerPC/PPCFrameLowering.cpp
  294   MachineBasicBlock *Entry = MI.getParent();
  298   MachineBasicBlock::iterator MBBI = MI;
  361     const MachineBasicBlock &MBB = *BI;
  570     for (MachineBasicBlock::iterator MBBI = BI->end(); MBBI != BI->begin(); ) {
  613 PPCFrameLowering::findScratchRegister(MachineBasicBlock *MBB,
  642     MachineBasicBlock::iterator MBBI = MBB->getFirstTerminator();
  704 PPCFrameLowering::twoUniqueScratchRegsRequired(MachineBasicBlock *MBB) const {
  718 bool PPCFrameLowering::canUseAsPrologue(const MachineBasicBlock &MBB) const {
  719   MachineBasicBlock *TmpMBB = const_cast<MachineBasicBlock *>(&MBB);
  725 bool PPCFrameLowering::canUseAsEpilogue(const MachineBasicBlock &MBB) const {
  726   MachineBasicBlock *TmpMBB = const_cast<MachineBasicBlock *>(&MBB);
  776                                     MachineBasicBlock &MBB) const {
  777   MachineBasicBlock::iterator MBBI = MBB.begin();
  928   MachineBasicBlock::iterator StackUpdateLoc = MBBI;
 1372                                     MachineBasicBlock &MBB) const {
 1373   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
 1512   MachineBasicBlock::iterator StackUpdateLoc = MBBI;
 1724 void PPCFrameLowering::createTailCallBranchInstr(MachineBasicBlock &MBB) const {
 1725   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
 1855     MachineBasicBlock *RestoreBlock = MFI.getRestorePoint();
 1856     for (MachineBasicBlock &MBB : MF) {
 2185 PPCFrameLowering::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
 2186                                      MachineBasicBlock::iterator MI,
 2275            MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2275            MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2308 MachineBasicBlock::iterator PPCFrameLowering::
 2331         MachineBasicBlock::iterator MBBI = I;
 2348 PPCFrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
 2349                                         MachineBasicBlock::iterator MI,
 2369   MachineBasicBlock::iterator I = MI, BeforeI = I;
lib/Target/PowerPC/PPCFrameLowering.h
   61   bool findScratchRegister(MachineBasicBlock *MBB,
   66   bool twoUniqueScratchRegsRequired(MachineBasicBlock *MBB) const;
   73   void createTailCallBranchInstr(MachineBasicBlock &MBB) const;
  101   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
  102   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
  114   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  115                                  MachineBasicBlock::iterator MI,
  126   MachineBasicBlock::iterator
  130   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  131                                   MachineBasicBlock::iterator MI,
  171   bool canUseAsPrologue(const MachineBasicBlock &MBB) const override;
  172   bool canUseAsEpilogue(const MachineBasicBlock &MBB) const override;
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  398   MachineBasicBlock &EntryBB = *Fn.begin();
  404   MachineBasicBlock::iterator IP = EntryBB.begin();  // Insert Point
  417       MachineBasicBlock::iterator I2 = IP;
  434     MachineBasicBlock &FirstMBB = MF->front();
  435     MachineBasicBlock::iterator MBBI = FirstMBB.begin();
lib/Target/PowerPC/PPCISelLowering.cpp
10297 MachineBasicBlock *
10298 PPCTargetLowering::EmitAtomicBinary(MachineInstr &MI, MachineBasicBlock *BB,
10341   MachineBasicBlock *loopMBB = F->CreateMachineBasicBlock(LLVM_BB);
10342   MachineBasicBlock *loop2MBB =
10344   MachineBasicBlock *exitMBB = F->CreateMachineBasicBlock(LLVM_BB);
10416 MachineBasicBlock *PPCTargetLowering::EmitPartwordAtomicBinary(
10417     MachineInstr &MI, MachineBasicBlock *BB,
10445   MachineBasicBlock *loopMBB = F->CreateMachineBasicBlock(LLVM_BB);
10446   MachineBasicBlock *loop2MBB =
10448   MachineBasicBlock *exitMBB = F->CreateMachineBasicBlock(LLVM_BB);
10609 llvm::MachineBasicBlock *
10611                                     MachineBasicBlock *MBB) const {
10647   MachineBasicBlock *thisMBB = MBB;
10648   MachineBasicBlock *mainMBB = MF->CreateMachineBasicBlock(BB);
10649   MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(BB);
10751 MachineBasicBlock *
10753                                      MachineBasicBlock *MBB) const {
10853 MachineBasicBlock *
10855                                                MachineBasicBlock *BB) const {
10940     MachineBasicBlock *thisMBB = BB;
10941     MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
10942     MachineBasicBlock *sinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
11009     MachineBasicBlock *readMBB = F->CreateMachineBasicBlock(LLVM_BB);
11010     MachineBasicBlock *sinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
11181     MachineBasicBlock *loop1MBB = F->CreateMachineBasicBlock(LLVM_BB);
11182     MachineBasicBlock *loop2MBB = F->CreateMachineBasicBlock(LLVM_BB);
11183     MachineBasicBlock *midMBB = F->CreateMachineBasicBlock(LLVM_BB);
11184     MachineBasicBlock *exitMBB = F->CreateMachineBasicBlock(LLVM_BB);
11260     MachineBasicBlock *loop1MBB = F->CreateMachineBasicBlock(LLVM_BB);
11261     MachineBasicBlock *loop2MBB = F->CreateMachineBasicBlock(LLVM_BB);
11262     MachineBasicBlock *midMBB = F->CreateMachineBasicBlock(LLVM_BB);
11263     MachineBasicBlock *exitMBB = F->CreateMachineBasicBlock(LLVM_BB);
15014 void PPCTargetLowering::initializeSplitCSR(MachineBasicBlock *Entry) const {
15024   MachineBasicBlock *Entry,
15025   const SmallVectorImpl<MachineBasicBlock *> &Exits) const {
15033   MachineBasicBlock::iterator MBBI = Entry->begin();
15061     for (auto *Exit : Exits)
lib/Target/PowerPC/PPCISelLowering.h
  669     void initializeSplitCSR(MachineBasicBlock *Entry) const override;
  672       MachineBasicBlock *Entry,
  673       const SmallVectorImpl<MachineBasicBlock *> &Exits) const override;
  759     MachineBasicBlock *
  761                                 MachineBasicBlock *MBB) const override;
  762     MachineBasicBlock *EmitAtomicBinary(MachineInstr &MI,
  763                                         MachineBasicBlock *MBB,
  768     MachineBasicBlock *EmitPartwordAtomicBinary(MachineInstr &MI,
  769                                                 MachineBasicBlock *MBB,
  775     MachineBasicBlock *emitEHSjLjSetJmp(MachineInstr &MI,
  776                                         MachineBasicBlock *MBB) const;
  778     MachineBasicBlock *emitEHSjLjLongJmp(MachineInstr &MI,
  779                                          MachineBasicBlock *MBB) const;
lib/Target/PowerPC/PPCInstrInfo.cpp
  468 void PPCInstrInfo::insertNoop(MachineBasicBlock &MBB,
  469                               MachineBasicBlock::iterator MI) const {
  495 bool PPCInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  496                                  MachineBasicBlock *&TBB,
  497                                  MachineBasicBlock *&FBB,
  503   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  670 unsigned PPCInstrInfo::removeBranch(MachineBasicBlock &MBB,
  674   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  702 unsigned PPCInstrInfo::insertBranch(MachineBasicBlock &MBB,
  703                                     MachineBasicBlock *TBB,
  704                                     MachineBasicBlock *FBB,
  755 bool PPCInstrInfo::canInsertSelect(const MachineBasicBlock &MBB,
  792 void PPCInstrInfo::insertSelect(MachineBasicBlock &MBB,
  793                                 MachineBasicBlock::iterator MI,
  904 void PPCInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  905                                MachineBasicBlock::iterator I,
 1224 void PPCInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
 1225                                        MachineBasicBlock::iterator MI,
 1277 PPCInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
 1278                                    MachineBasicBlock::iterator MI,
 1392 static bool MBBDefinesCTR(MachineBasicBlock &MBB) {
 1393   for (MachineBasicBlock::iterator I = MBB.begin(), IE = MBB.end();
 1406 bool PPCInstrInfo::isProfitableToIfCvt(MachineBasicBlock &TMBB,
 1408                      MachineBasicBlock &FMBB,
 1465       MachineBasicBlock *MBB = MI.getOperand(0).getMBB();
 1473       MachineBasicBlock *MBB = MI.getOperand(0).getMBB();
 1481       MachineBasicBlock *MBB = MI.getOperand(0).getMBB();
 1718   MachineBasicBlock::iterator I = CmpInstr;
 1721   for (MachineBasicBlock::iterator EL = CmpInstr.getParent()->end(); I != EL;
 1798   MachineBasicBlock::iterator E = MI, B = CmpInstr.getParent()->begin();
 1912   MachineBasicBlock::iterator MII = MI;
 2133   auto &MBB = *MI.getParent();
 2328   MachineBasicBlock::reverse_iterator E = MI.getParent()->rend(), It = MI;
 2489   MachineBasicBlock::reverse_iterator It = EndMI;
 2490   MachineBasicBlock::reverse_iterator E = EndMI.getParent()->rend();
 3521   MachineBasicBlock::const_reverse_iterator It = MI;
 3522   MachineBasicBlock::const_reverse_iterator E = MI.getParent()->rend();
 4029         const MachineBasicBlock *MBB = MI.getParent();
 4030         MachineBasicBlock::const_instr_iterator II =
 4185   createTripCountGreaterCondition(int TC, MachineBasicBlock &MBB,
 4200   void setPreheader(MachineBasicBlock *NewPreheader) override {
 4228 PPCInstrInfo::analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const {
 4230   MachineBasicBlock::iterator I = LoopBB->getFirstTerminator();
 4231   MachineBasicBlock *Preheader = *LoopBB->pred_begin();
 4237     SmallPtrSet<MachineBasicBlock *, 8> Visited;
 4249     MachineBasicBlock &PreHeader,
 4250     SmallPtrSet<MachineBasicBlock *, 8> &Visited) const {
lib/Target/PowerPC/PPCInstrInfo.h
  258   void insertNoop(MachineBasicBlock &MBB,
  259                   MachineBasicBlock::iterator MI) const override;
  263   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  263   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  264                      MachineBasicBlock *&FBB,
  267   unsigned removeBranch(MachineBasicBlock &MBB,
  269   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  269   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  270                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  275   bool canInsertSelect(const MachineBasicBlock &, ArrayRef<MachineOperand> Cond,
  277   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  277   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  282   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  282   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  286   void storeRegToStackSlot(MachineBasicBlock &MBB,
  287                            MachineBasicBlock::iterator MBBI,
  292   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  293                             MachineBasicBlock::iterator MBBI,
  313   bool isProfitableToIfCvt(MachineBasicBlock &MBB,
  319   bool isProfitableToIfCvt(MachineBasicBlock &TMBB,
  321                            MachineBasicBlock &FMBB,
  325   bool isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  330   bool isProfitableToUnpredicate(MachineBasicBlock &TMBB,
  331                                  MachineBasicBlock &FMBB) const override {
  499   findLoopInstr(MachineBasicBlock &PreHeader,
  500                 SmallPtrSet<MachineBasicBlock *, 8> &Visited) const;
  505   analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const override;
lib/Target/PowerPC/PPCMIPeephole.cpp
  224   MachineBasicBlock *Entry = &MF->front();
  276       for (MachineBasicBlock &MBB : *MF) {
  296   for (MachineBasicBlock &MBB : *MF) {
  903                                        MachineBasicBlock *MBB) {
  916 static unsigned getSrcVReg(unsigned Reg, MachineBasicBlock *BB1,
  917                            MachineBasicBlock *BB2, MachineRegisterInfo *MRI) {
  936 static bool eligibleForCompareElimination(MachineBasicBlock &MBB,
  937                                           MachineBasicBlock *&PredMBB,
  938                                           MachineBasicBlock *&MBBtoMoveCmp,
  983     MachineBasicBlock *TmpMBB = *MBB.pred_begin();
  994     MachineBasicBlock::pred_iterator PI = MBB.pred_begin();
  995     MachineBasicBlock *Pred1MBB = *PI;
  996     MachineBasicBlock *Pred2MBB = *(PI+1);
 1078   for (MachineBasicBlock &MBB2 : *MF) {
 1079     MachineBasicBlock *MBB1 = nullptr, *MBBtoMoveCmp = nullptr;
lib/Target/PowerPC/PPCMachineScheduler.cpp
   64 void PPCPostRASchedStrategy::enterMBB(MachineBasicBlock *MBB) {
lib/Target/PowerPC/PPCMachineScheduler.h
   43   void enterMBB(MachineBasicBlock *MBB) override;
lib/Target/PowerPC/PPCPreEmitPeephole.cpp
   71     bool removeRedundantLIs(MachineBasicBlock &MBB,
  172       for (MachineBasicBlock &MBB : MF) {
  229         MachineBasicBlock::reverse_iterator It = Br, Er = MBB.rend();
  253           MachineBasicBlock::iterator It = Br, Er = MBB.end();
lib/Target/PowerPC/PPCQPXLoadSplat.cpp
   65     MachineBasicBlock *MBB = &*MFI;
lib/Target/PowerPC/PPCReduceCRLogicals.cpp
   55 static void updatePHIs(MachineBasicBlock *Successor, MachineBasicBlock *OrigMBB,
   55 static void updatePHIs(MachineBasicBlock *Successor, MachineBasicBlock *OrigMBB,
   56                        MachineBasicBlock *NewMBB, MachineRegisterInfo *MRI) {
   84 static void addIncomingValuesToPHIs(MachineBasicBlock *Successor,
   85                                     MachineBasicBlock *OrigMBB,
   86                                     MachineBasicBlock *NewMBB,
  119     MachineBasicBlock *MBB = OrigBranch->getParent();
  143   MachineBasicBlock *ThisMBB = BSI.OrigBranch->getParent();
  163   MachineBasicBlock *OrigTarget = BSI.OrigBranch->getOperand(1).getMBB();
  164   MachineBasicBlock *OrigFallThrough = OrigTarget == *ThisMBB->succ_begin()
  167   MachineBasicBlock *NewBRTarget =
  198   MachineBasicBlock::iterator InsertPoint = BSI.SplitBefore;
  201   MachineBasicBlock *NewMBB = MF->CreateMachineBasicBlock(LLVM_BB);
  241   for (auto *Succ : NewMBB->successors()) {
  558     MachineBasicBlock::iterator Me = Copy, B = Copy->getParent()->begin();
  638   MachineBasicBlock::iterator Def1It = CRI.TrueDefs.first;
  639   MachineBasicBlock::iterator Def2It = CRI.TrueDefs.second;
  663   MachineBasicBlock *MBB = SplitBefore->getParent();
  665   MachineBasicBlock::iterator FirstInstrToMove =
  667   MachineBasicBlock::iterator SecondInstrToMove =
  711   for (MachineBasicBlock &MBB : *MF) {
lib/Target/PowerPC/PPCRegisterInfo.cpp
  493 void PPCRegisterInfo::lowerDynamicAlloc(MachineBasicBlock::iterator II) const {
  497   MachineBasicBlock &MBB = *MI.getParent();
  612     MachineBasicBlock::iterator II) const {
  616   MachineBasicBlock &MBB = *MI.getParent();
  642 void PPCRegisterInfo::lowerCRSpilling(MachineBasicBlock::iterator II,
  647   MachineBasicBlock &MBB = *MI.getParent();
  687 void PPCRegisterInfo::lowerCRRestore(MachineBasicBlock::iterator II,
  692   MachineBasicBlock &MBB = *MI.getParent();
  730 void PPCRegisterInfo::lowerCRBitSpilling(MachineBasicBlock::iterator II,
  735   MachineBasicBlock &MBB = *MI.getParent();
  750   MachineBasicBlock::reverse_iterator Ins;
  810 void PPCRegisterInfo::lowerCRBitRestore(MachineBasicBlock::iterator II,
  815   MachineBasicBlock &MBB = *MI.getParent();
  860 void PPCRegisterInfo::lowerVRSAVESpilling(MachineBasicBlock::iterator II,
  865   MachineBasicBlock &MBB = *MI.getParent();
  886 void PPCRegisterInfo::lowerVRSAVERestore(MachineBasicBlock::iterator II,
  891   MachineBasicBlock &MBB = *MI.getParent();
  983 PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  991   MachineBasicBlock &MBB = *MI.getParent();
 1196   MachineBasicBlock &MBB = *MI->getParent();
 1220 materializeFrameBaseRegister(MachineBasicBlock *MBB,
 1225   MachineBasicBlock::iterator Ins = MBB->begin();
 1255   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/PowerPC/PPCRegisterInfo.h
  112   void lowerDynamicAlloc(MachineBasicBlock::iterator II) const;
  113   void lowerDynamicAreaOffset(MachineBasicBlock::iterator II) const;
  114   void lowerCRSpilling(MachineBasicBlock::iterator II,
  116   void lowerCRRestore(MachineBasicBlock::iterator II,
  118   void lowerCRBitSpilling(MachineBasicBlock::iterator II,
  120   void lowerCRBitRestore(MachineBasicBlock::iterator II,
  122   void lowerVRSAVESpilling(MachineBasicBlock::iterator II,
  124   void lowerVRSAVERestore(MachineBasicBlock::iterator II,
  129   void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
  135   void materializeFrameBaseRegister(MachineBasicBlock *MBB,
lib/Target/PowerPC/PPCTLSDynamicCall.cpp
   48     bool processBlock(MachineBasicBlock &MBB) {
   53       for (MachineBasicBlock::iterator I = MBB.begin(), IE = MBB.end();
  122         MachineBasicBlock::iterator First = I;
  136         MachineBasicBlock::iterator Last = I;
  159         MachineBasicBlock &B = *I++;
lib/Target/PowerPC/PPCTOCRegDeps.cpp
  110     bool processBlock(MachineBasicBlock &MBB) {
  135         MachineBasicBlock &B = *I++;
lib/Target/PowerPC/PPCVSXCopy.cpp
   83     bool processBlock(MachineBasicBlock &MBB) {
  152         MachineBasicBlock &B = *I++;
lib/Target/PowerPC/PPCVSXFMAMutate.cpp
   70     bool processBlock(MachineBasicBlock &MBB) {
   75       for (MachineBasicBlock::iterator I = MBB.begin(), IE = MBB.end();
  364         MachineBasicBlock &B = *I++;
lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
  150   void insertSwap(MachineInstr *MI, MachineBasicBlock::iterator InsertPoint,
  244   for (MachineBasicBlock &MBB : *MF) {
  800                                    MachineBasicBlock::iterator InsertPoint,
  950       MachineBasicBlock *MBB = MI->getParent();
lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
   43   bool expandMBB(MachineBasicBlock &MBB);
   44   bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   44   bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   46   bool expandAtomicBinOp(MachineBasicBlock &MBB,
   47                          MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp,
   50   bool expandAtomicMinMaxOp(MachineBasicBlock &MBB,
   51                             MachineBasicBlock::iterator MBBI,
   54   bool expandAtomicCmpXchg(MachineBasicBlock &MBB,
   55                            MachineBasicBlock::iterator MBBI, bool IsMasked,
   57   bool expandAuipcInstPair(MachineBasicBlock &MBB,
   58                            MachineBasicBlock::iterator MBBI,
   61   bool expandLoadLocalAddress(MachineBasicBlock &MBB,
   62                               MachineBasicBlock::iterator MBBI,
   64   bool expandLoadAddress(MachineBasicBlock &MBB,
   65                          MachineBasicBlock::iterator MBBI,
   67   bool expandLoadTLSIEAddress(MachineBasicBlock &MBB,
   68                               MachineBasicBlock::iterator MBBI,
   70   bool expandLoadTLSGDAddress(MachineBasicBlock &MBB,
   71                               MachineBasicBlock::iterator MBBI,
   80   for (auto &MBB : MF)
   85 bool RISCVExpandPseudo::expandMBB(MachineBasicBlock &MBB) {
   88   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
   90     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
   98 bool RISCVExpandPseudo::expandMI(MachineBasicBlock &MBB,
   99                                  MachineBasicBlock::iterator MBBI,
  234                                    DebugLoc DL, MachineBasicBlock *ThisMBB,
  235                                    MachineBasicBlock *LoopMBB,
  236                                    MachineBasicBlock *DoneMBB,
  274                               MachineBasicBlock *MBB, Register DestReg,
  297     MachineBasicBlock *ThisMBB, MachineBasicBlock *LoopMBB,
  297     MachineBasicBlock *ThisMBB, MachineBasicBlock *LoopMBB,
  298     MachineBasicBlock *DoneMBB, AtomicRMWInst::BinOp BinOp, int Width) {
  359     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  359     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  397                        MachineBasicBlock *MBB, Register ValReg,
  408     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  408     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  529     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, bool IsMasked,
  529     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, bool IsMasked,
  625     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  625     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  635   MachineBasicBlock *NewMBB = MF->CreateMachineBasicBlock(MBB.getBasicBlock());
  666     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  666     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  673     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  673     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  691     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  691     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  702     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  702     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
lib/Target/RISCV/RISCVFrameLowering.cpp
   62 void RISCVFrameLowering::adjustReg(MachineBasicBlock &MBB,
   63                                    MachineBasicBlock::iterator MBBI,
  102                                       MachineBasicBlock &MBB) const {
  109   MachineBasicBlock::iterator MBBI = MBB.begin();
  232                                       MachineBasicBlock &MBB) const {
  233   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
  439 MachineBasicBlock::iterator RISCVFrameLowering::eliminateCallFramePseudoInstr(
lib/Target/RISCV/RISCVFrameLowering.h
   29   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   30   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   44   MachineBasicBlock::iterator
   58   void adjustReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   58   void adjustReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
lib/Target/RISCV/RISCVISelLowering.cpp
 1089 static MachineBasicBlock *emitReadCycleWidePseudo(MachineInstr &MI,
 1090                                                   MachineBasicBlock *BB) {
 1108   MachineBasicBlock *LoopMBB = MF.CreateMachineBasicBlock(LLVM_BB);
 1111   MachineBasicBlock *DoneMBB = MF.CreateMachineBasicBlock(LLVM_BB);
 1151 static MachineBasicBlock *emitSplitF64Pseudo(MachineInstr &MI,
 1152                                              MachineBasicBlock *BB) {
 1182 static MachineBasicBlock *emitBuildPairF64Pseudo(MachineInstr &MI,
 1183                                                  MachineBasicBlock *BB) {
 1226 static MachineBasicBlock *emitSelectPseudo(MachineInstr &MI,
 1227                                            MachineBasicBlock *BB) {
 1292   MachineBasicBlock *HeadMBB = BB;
 1294   MachineBasicBlock *TailMBB = F->CreateMachineBasicBlock(LLVM_BB);
 1295   MachineBasicBlock *IfFalseMBB = F->CreateMachineBasicBlock(LLVM_BB);
 1349 MachineBasicBlock *
 1351                                                  MachineBasicBlock *BB) const {
lib/Target/RISCV/RISCVISelLowering.h
  107   MachineBasicBlock *
  109                               MachineBasicBlock *BB) const override;
lib/Target/RISCV/RISCVInstrInfo.cpp
   85 void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   86                                  MachineBasicBlock::iterator MBBI,
  110 void RISCVInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
  111                                          MachineBasicBlock::iterator I,
  137 void RISCVInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
  138                                           MachineBasicBlock::iterator I,
  161 void RISCVInstrInfo::movImm(MachineBasicBlock &MBB,
  162                             MachineBasicBlock::iterator MBBI,
  203 static void parseCondBranch(MachineInstr &LastInst, MachineBasicBlock *&Target,
  233 bool RISCVInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  234                                    MachineBasicBlock *&TBB,
  235                                    MachineBasicBlock *&FBB,
  242   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  248   MachineBasicBlock::iterator FirstUncondOrIndirectBr = MBB.end();
  301 unsigned RISCVInstrInfo::removeBranch(MachineBasicBlock &MBB,
  305   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  336     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  336     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  336     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  372 unsigned RISCVInstrInfo::insertIndirectBranch(MachineBasicBlock &MBB,
  373                                               MachineBasicBlock &DestBB,
  421 MachineBasicBlock *
lib/Target/RISCV/RISCVInstrInfo.h
   36   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   36   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   40   void storeRegToStackSlot(MachineBasicBlock &MBB,
   41                            MachineBasicBlock::iterator MBBI, unsigned SrcReg,
   46   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   47                             MachineBasicBlock::iterator MBBI, unsigned DstReg,
   52   void movImm(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   52   void movImm(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   58   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   58   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   59                      MachineBasicBlock *&FBB,
   63   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   63   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   64                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
   68   unsigned insertIndirectBranch(MachineBasicBlock &MBB,
   69                                 MachineBasicBlock &NewDestBB,
   73   unsigned removeBranch(MachineBasicBlock &MBB,
   79   MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const override;
lib/Target/RISCV/RISCVMergeBaseOffset.cpp
  264   for (MachineBasicBlock &MBB : Fn) {
lib/Target/RISCV/RISCVRegisterInfo.cpp
  102 void RISCVRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  124   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/RISCV/RISCVRegisterInfo.h
   40   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
lib/Target/Sparc/DelaySlotFiller.cpp
   47     bool runOnMachineBasicBlock(MachineBasicBlock &MBB);
   67     void insertCallDefsUses(MachineBasicBlock::iterator MI,
   71     void insertDefsUses(MachineBasicBlock::iterator MI,
   78     bool delayHasHazard(MachineBasicBlock::iterator candidate,
   83     MachineBasicBlock::iterator
   86     bool needsUnimp(MachineBasicBlock::iterator I, unsigned &StructSize);
   88     bool tryCombineRestoreWithPrevInst(MachineBasicBlock &MBB,
   89                                        MachineBasicBlock::iterator MBBI);
  106 bool Filler::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
  111   for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ) {
  112     MachineBasicBlock::iterator MI = I;
  137     MachineBasicBlock::iterator D = MBB.end();
  152       MachineBasicBlock::iterator J = MI;
  166 MachineBasicBlock::iterator
  182     MachineBasicBlock::iterator J = slot;
  201   MachineBasicBlock::iterator I = slot;
  227 bool Filler::delayHasHazard(MachineBasicBlock::iterator candidate,
  289 void Filler::insertCallDefsUses(MachineBasicBlock::iterator MI,
  318 void Filler::insertDefsUses(MachineBasicBlock::iterator MI,
  353 bool Filler::needsUnimp(MachineBasicBlock::iterator I, unsigned &StructSize)
  374 static bool combineRestoreADD(MachineBasicBlock::iterator RestoreMI,
  401 static bool combineRestoreOR(MachineBasicBlock::iterator RestoreMI,
  440 static bool combineRestoreSETHIi(MachineBasicBlock::iterator RestoreMI,
  480 bool Filler::tryCombineRestoreWithPrevInst(MachineBasicBlock &MBB,
  481                                         MachineBasicBlock::iterator MBBI)
  493   MachineBasicBlock::iterator PrevInst = std::prev(MBBI);
lib/Target/Sparc/LeonPasses.cpp
   47     MachineBasicBlock &MBB = *MFI;
   52         MachineBasicBlock::iterator NMBBI = std::next(MBBI);
   82     MachineBasicBlock &MBB = *MFI;
  134     MachineBasicBlock &MBB = *MFI;
  147         MachineBasicBlock::iterator NMBBI = std::next(MBBI);
lib/Target/Sparc/SparcAsmPrinter.cpp
  264   MachineBasicBlock::const_instr_iterator I = MI->getIterator();
  265   MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
lib/Target/Sparc/SparcFrameLowering.cpp
   41                                           MachineBasicBlock &MBB,
   42                                           MachineBasicBlock::iterator MBBI,
   86                                       MachineBasicBlock &MBB) const {
   96   MachineBasicBlock::iterator MBBI = MBB.begin();
  204 MachineBasicBlock::iterator SparcFrameLowering::
  221                                   MachineBasicBlock &MBB) const {
  223   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
lib/Target/Sparc/SparcFrameLowering.h
   28   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   29   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   31   MachineBasicBlock::iterator
   59                         MachineBasicBlock &MBB,
   60                         MachineBasicBlock::iterator MBBI,
lib/Target/Sparc/SparcISelLowering.cpp
 3098 MachineBasicBlock *
 3100                                                  MachineBasicBlock *BB) const {
 3116 MachineBasicBlock *
 3117 SparcTargetLowering::expandSelectCC(MachineInstr &MI, MachineBasicBlock *BB,
 3137   MachineBasicBlock *ThisMBB = BB;
 3139   MachineBasicBlock *IfFalseMBB = F->CreateMachineBasicBlock(LLVM_BB);
 3140   MachineBasicBlock *SinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
lib/Target/Sparc/SparcISelLowering.h
   70     MachineBasicBlock *
   72                                 MachineBasicBlock *MBB) const override;
  211     MachineBasicBlock *expandSelectCC(MachineInstr &MI, MachineBasicBlock *BB,
  211     MachineBasicBlock *expandSelectCC(MachineInstr &MI, MachineBasicBlock *BB,
lib/Target/Sparc/SparcInstrInfo.cpp
  153 static void parseCondBranch(MachineInstr *LastInst, MachineBasicBlock *&Target,
  159 bool SparcInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  160                                    MachineBasicBlock *&TBB,
  161                                    MachineBasicBlock *&FBB,
  164   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  242 unsigned SparcInstrInfo::insertBranch(MachineBasicBlock &MBB,
  243                                       MachineBasicBlock *TBB,
  244                                       MachineBasicBlock *FBB,
  273 unsigned SparcInstrInfo::removeBranch(MachineBasicBlock &MBB,
  277   MachineBasicBlock::iterator I = MBB.end();
  305 void SparcInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  306                                  MachineBasicBlock::iterator I,
  395 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  395 storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  434 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  434 loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
  479   MachineBasicBlock &FirstMBB = MF->front();
  480   MachineBasicBlock::iterator MBBI = FirstMBB.begin();
lib/Target/Sparc/SparcInstrInfo.h
   67   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   67   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   68                      MachineBasicBlock *&FBB,
   72   unsigned removeBranch(MachineBasicBlock &MBB,
   75   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   75   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   76                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
   83   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   83   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   87   void storeRegToStackSlot(MachineBasicBlock &MBB,
   88                            MachineBasicBlock::iterator MBBI,
   93   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   94                             MachineBasicBlock::iterator MBBI,
lib/Target/Sparc/SparcRegisterInfo.cpp
  111 static void replaceFI(MachineFunction &MF, MachineBasicBlock::iterator II,
  164 SparcRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/Sparc/SparcRegisterInfo.h
   37   void eliminateFrameIndex(MachineBasicBlock::iterator II,
lib/Target/SystemZ/SystemZAsmPrinter.cpp
  580   const MachineBasicBlock &MBB = *MI.getParent();
  581   MachineBasicBlock::const_iterator MII(MI);
lib/Target/SystemZ/SystemZElimCompare.cpp
   74   bool processBlock(MachineBasicBlock &MBB);
  107 static bool isCCLiveOut(MachineBasicBlock &MBB) {
  225   MachineBasicBlock::iterator MBBI = Compare, MBBE = Branch;
  269   MachineBasicBlock::iterator MBBI = Compare, MBBE = Branch;
  386   MachineBasicBlock::iterator MBBI = MI, MBBE = MI.getParent()->end();
  395     MachineBasicBlock::iterator MBBI = MI, MBBE = Compare;
  430   MachineBasicBlock &MBB = *Compare.getParent();
  433   for (MachineBasicBlock::reverse_iterator MBBI =
  469   for (MachineBasicBlock::iterator MBBI =
  528   MachineBasicBlock::iterator MBBI = Compare, MBBE = Branch;
  592 bool SystemZElimCompare::processBlock(MachineBasicBlock &MBB) {
  600   MachineBasicBlock::iterator MBBI = MBB.end();
  631   for (auto &MBB : F)
lib/Target/SystemZ/SystemZFrameLowering.cpp
  117 static void addSavedGPR(MachineBasicBlock &MBB, MachineInstrBuilder &MIB,
  131 spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  132                           MachineBasicBlock::iterator MBBI,
  225 restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  226                             MachineBasicBlock::iterator MBBI,
  313 static void emitIncrement(MachineBasicBlock &MBB,
  314                           MachineBasicBlock::iterator &MBBI,
  342                                         MachineBasicBlock &MBB) const {
  348   MachineBasicBlock::iterator MBBI = MBB.begin();
  474                                         MachineBasicBlock &MBB) const {
  475   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
  530 MachineBasicBlock::iterator SystemZFrameLowering::
lib/Target/SystemZ/SystemZFrameLowering.h
   31   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   32                                  MachineBasicBlock::iterator MBBI,
   35   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   36                                    MachineBasicBlock::iterator MBBII,
   42   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   43   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   46   MachineBasicBlock::iterator
lib/Target/SystemZ/SystemZHazardRecognizer.h
  153   MachineBasicBlock::iterator getLastEmittedMI() { return LastEmittedMI; }
lib/Target/SystemZ/SystemZISelLowering.cpp
 6474 static MachineBasicBlock *emitBlockAfter(MachineBasicBlock *MBB) {
 6474 static MachineBasicBlock *emitBlockAfter(MachineBasicBlock *MBB) {
 6476   MachineBasicBlock *NewMBB = MF.CreateMachineBasicBlock(MBB->getBasicBlock());
 6483 static MachineBasicBlock *splitBlockAfter(MachineBasicBlock::iterator MI,
 6483 static MachineBasicBlock *splitBlockAfter(MachineBasicBlock::iterator MI,
 6485   MachineBasicBlock *NewMBB = emitBlockAfter(MBB);
 6493 static MachineBasicBlock *splitBlockBefore(MachineBasicBlock::iterator MI,
 6493 static MachineBasicBlock *splitBlockBefore(MachineBasicBlock::iterator MI,
 6495   MachineBasicBlock *NewMBB = emitBlockAfter(MBB);
 6507   MachineBasicBlock *MBB = MI.getParent();
 6522 static bool checkCCKill(MachineInstr &MI, MachineBasicBlock *MBB) {
 6524   MachineBasicBlock::iterator miI(std::next(MachineBasicBlock::iterator(MI)));
 6525   for (MachineBasicBlock::iterator miE = MBB->end(); miI != miE; ++miI) {
 6568                                  MachineBasicBlock *TrueMBB,
 6569                                  MachineBasicBlock *FalseMBB,
 6570                                  MachineBasicBlock *SinkMBB) {
 6578   MachineBasicBlock::iterator SinkInsertionPoint = SinkMBB->begin();
 6618 MachineBasicBlock *
 6620                                   MachineBasicBlock *MBB) const {
 6635   for (MachineBasicBlock::iterator NextMIIt =
 6669   MachineBasicBlock *StartMBB = MBB;
 6670   MachineBasicBlock *JoinMBB  = splitBlockAfter(LastMI, MBB);
 6671   MachineBasicBlock *FalseMBB = emitBlockAfter(StartMBB);
 6702   MachineBasicBlock::iterator InsertPos = MBB->getFirstNonPHI();
 6713 MachineBasicBlock *SystemZTargetLowering::emitCondStore(MachineInstr &MI,
 6714                                                         MachineBasicBlock *MBB,
 6763   MachineBasicBlock *StartMBB = MBB;
 6764   MachineBasicBlock *JoinMBB  = splitBlockBefore(MI, MBB);
 6765   MachineBasicBlock *FalseMBB = emitBlockAfter(StartMBB);
 6805 MachineBasicBlock *SystemZTargetLowering::emitAtomicLoadBinary(
 6806     MachineInstr &MI, MachineBasicBlock *MBB, unsigned BinOpcode,
 6847   MachineBasicBlock *StartMBB = MBB;
 6848   MachineBasicBlock *DoneMBB  = splitBlockBefore(MI, MBB);
 6849   MachineBasicBlock *LoopMBB  = emitBlockAfter(StartMBB);
 6924 MachineBasicBlock *SystemZTargetLowering::emitAtomicLoadMinMax(
 6925     MachineInstr &MI, MachineBasicBlock *MBB, unsigned CompareOpcode,
 6965   MachineBasicBlock *StartMBB  = MBB;
 6966   MachineBasicBlock *DoneMBB   = splitBlockBefore(MI, MBB);
 6967   MachineBasicBlock *LoopMBB   = emitBlockAfter(StartMBB);
 6968   MachineBasicBlock *UseAltMBB = emitBlockAfter(LoopMBB);
 6969   MachineBasicBlock *UpdateMBB = emitBlockAfter(UseAltMBB);
 7038 MachineBasicBlock *
 7040                                           MachineBasicBlock *MBB) const {
 7076   MachineBasicBlock *StartMBB = MBB;
 7077   MachineBasicBlock *DoneMBB  = splitBlockBefore(MI, MBB);
 7078   MachineBasicBlock *LoopMBB  = emitBlockAfter(StartMBB);
 7079   MachineBasicBlock *SetMBB   = emitBlockAfter(LoopMBB);
 7163 MachineBasicBlock *
 7165                                    MachineBasicBlock *MBB) const {
 7191 MachineBasicBlock *SystemZTargetLowering::emitExt128(MachineInstr &MI,
 7192                                                      MachineBasicBlock *MBB,
 7222 MachineBasicBlock *SystemZTargetLowering::emitMemMemWrapper(
 7223     MachineInstr &MI, MachineBasicBlock *MBB, unsigned Opcode) const {
 7238   MachineBasicBlock *EndMBB = (Length > 256 && Opcode == SystemZ::CLC ?
 7262     MachineBasicBlock *StartMBB = MBB;
 7263     MachineBasicBlock *DoneMBB = splitBlockBefore(MI, MBB);
 7264     MachineBasicBlock *LoopMBB = emitBlockAfter(StartMBB);
 7265     MachineBasicBlock *NextMBB = (EndMBB ? emitBlockAfter(LoopMBB) : LoopMBB);
 7381       MachineBasicBlock *NextMBB = splitBlockBefore(MI, MBB);
 7402 MachineBasicBlock *SystemZTargetLowering::emitStringWrapper(
 7403     MachineInstr &MI, MachineBasicBlock *MBB, unsigned Opcode) const {
 7420   MachineBasicBlock *StartMBB = MBB;
 7421   MachineBasicBlock *DoneMBB = splitBlockBefore(MI, MBB);
 7422   MachineBasicBlock *LoopMBB = emitBlockAfter(StartMBB);
 7461 MachineBasicBlock *SystemZTargetLowering::emitTransactionBegin(
 7462     MachineInstr &MI, MachineBasicBlock *MBB, unsigned Opcode,
 7509 MachineBasicBlock *SystemZTargetLowering::emitLoadAndTestCmp0(
 7510     MachineInstr &MI, MachineBasicBlock *MBB, unsigned Opcode) const {
 7532 MachineBasicBlock *SystemZTargetLowering::EmitInstrWithCustomInserter(
 7533     MachineInstr &MI, MachineBasicBlock *MBB) const {
lib/Target/SystemZ/SystemZISelLowering.h
  476   MachineBasicBlock *
  478                               MachineBasicBlock *BB) const override;
  621   bool convertPrevCompareToBranch(MachineBasicBlock *MBB,
  622                                   MachineBasicBlock::iterator MBBI,
  627   MachineBasicBlock *emitSelect(MachineInstr &MI, MachineBasicBlock *BB) const;
  627   MachineBasicBlock *emitSelect(MachineInstr &MI, MachineBasicBlock *BB) const;
  628   MachineBasicBlock *emitCondStore(MachineInstr &MI, MachineBasicBlock *BB,
  628   MachineBasicBlock *emitCondStore(MachineInstr &MI, MachineBasicBlock *BB,
  631   MachineBasicBlock *emitPair128(MachineInstr &MI,
  632                                  MachineBasicBlock *MBB) const;
  633   MachineBasicBlock *emitExt128(MachineInstr &MI, MachineBasicBlock *MBB,
  633   MachineBasicBlock *emitExt128(MachineInstr &MI, MachineBasicBlock *MBB,
  635   MachineBasicBlock *emitAtomicLoadBinary(MachineInstr &MI,
  636                                           MachineBasicBlock *BB,
  639   MachineBasicBlock *emitAtomicLoadMinMax(MachineInstr &MI,
  640                                           MachineBasicBlock *MBB,
  644   MachineBasicBlock *emitAtomicCmpSwapW(MachineInstr &MI,
  645                                         MachineBasicBlock *BB) const;
  646   MachineBasicBlock *emitMemMemWrapper(MachineInstr &MI, MachineBasicBlock *BB,
  646   MachineBasicBlock *emitMemMemWrapper(MachineInstr &MI, MachineBasicBlock *BB,
  648   MachineBasicBlock *emitStringWrapper(MachineInstr &MI, MachineBasicBlock *BB,
  648   MachineBasicBlock *emitStringWrapper(MachineInstr &MI, MachineBasicBlock *BB,
  650   MachineBasicBlock *emitTransactionBegin(MachineInstr &MI,
  651                                           MachineBasicBlock *MBB,
  653   MachineBasicBlock *emitLoadAndTestCmp0(MachineInstr &MI,
  654                                          MachineBasicBlock *MBB,
lib/Target/SystemZ/SystemZInstrInfo.cpp
   65 void SystemZInstrInfo::splitMove(MachineBasicBlock::iterator MI,
   67   MachineBasicBlock *MBB = MI->getParent();
  116 void SystemZInstrInfo::splitAdjDynAlloc(MachineBasicBlock::iterator MI) const {
  117   MachineBasicBlock *MBB = MI->getParent();
  212   MachineBasicBlock *MBB = MI->getParent();
  246 SystemZInstrInfo::emitGRX32Move(MachineBasicBlock &MBB,
  247                                 MachineBasicBlock::iterator MBBI,
  353 bool SystemZInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  354                                      MachineBasicBlock *&TBB,
  355                                      MachineBasicBlock *&FBB,
  362   MachineBasicBlock::iterator I = MBB.end();
  445 unsigned SystemZInstrInfo::removeBranch(MachineBasicBlock &MBB,
  450   MachineBasicBlock::iterator I = MBB.end();
  477 unsigned SystemZInstrInfo::insertBranch(MachineBasicBlock &MBB,
  478                                         MachineBasicBlock *TBB,
  479                                         MachineBasicBlock *FBB,
  533 bool SystemZInstrInfo::canInsertSelect(const MachineBasicBlock &MBB,
  566 void SystemZInstrInfo::insertSelect(MachineBasicBlock &MBB,
  567                                     MachineBasicBlock::iterator I,
  683 isProfitableToIfCvt(MachineBasicBlock &MBB,
  702 isProfitableToIfCvt(MachineBasicBlock &TMBB,
  704                     MachineBasicBlock &FMBB,
  712 isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  766 void SystemZInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  767                                    MachineBasicBlock::iterator MBBI,
  872     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned SrcReg,
  872     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned SrcReg,
  887     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg,
  887     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg,
  950   MachineBasicBlock *MBB = MI.getParent();
  999     MachineBasicBlock::iterator InsertPt, int FrameIndex,
 1212     MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI,
 1732 void SystemZInstrInfo::loadImmediate(MachineBasicBlock &MBB,
 1733                                      MachineBasicBlock::iterator MBBI,
lib/Target/SystemZ/SystemZInstrInfo.h
  130   MachineBasicBlock *getMBBTarget() {
  163   void splitMove(MachineBasicBlock::iterator MI, unsigned NewOpcode) const;
  164   void splitAdjDynAlloc(MachineBasicBlock::iterator MI) const;
  178   emitGRX32Move(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  178   emitGRX32Move(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  211   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  211   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  212                      MachineBasicBlock *&FBB,
  215   unsigned removeBranch(MachineBasicBlock &MBB,
  217   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  217   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  218                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  223   bool canInsertSelect(const MachineBasicBlock&, ArrayRef<MachineOperand> Cond,
  225   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  225   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  232   bool isProfitableToIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  235   bool isProfitableToIfCvt(MachineBasicBlock &TMBB,
  237                            MachineBasicBlock &FMBB,
  240   bool isProfitableToDupForIfCvt(MachineBasicBlock &MBB, unsigned NumCycles,
  244   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  244   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  247   void storeRegToStackSlot(MachineBasicBlock &MBB,
  248                            MachineBasicBlock::iterator MBBI,
  252   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  253                             MachineBasicBlock::iterator MBBI,
  263                         MachineBasicBlock::iterator InsertPt, int FrameIndex,
  268       MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI,
  321   void loadImmediate(MachineBasicBlock &MBB,
  322                      MachineBasicBlock::iterator MBBI,
lib/Target/SystemZ/SystemZLDCleanup.cpp
   89   MachineBasicBlock *BB = Node->getBlock();
lib/Target/SystemZ/SystemZLongBranch.cpp
  280     MachineBasicBlock *MBB = MF->getBlockNumbered(I);
  287     MachineBasicBlock::iterator MI = MBB->begin();
  288     MachineBasicBlock::iterator End = MBB->end();
  356   MachineBasicBlock *MBB = MI->getParent();
  375   MachineBasicBlock *MBB = MI->getParent();
lib/Target/SystemZ/SystemZMachineScheduler.cpp
   40 static MachineBasicBlock *getSingleSchedPred(MachineBasicBlock *MBB,
   40 static MachineBasicBlock *getSingleSchedPred(MachineBasicBlock *MBB,
   42   MachineBasicBlock *PredMBB = nullptr;
   61 advanceTo(MachineBasicBlock::iterator NextBegin) {
   62   MachineBasicBlock::iterator LastEmittedMI = HazardRec->getLastEmittedMI();
   63   MachineBasicBlock::iterator I =
   78 void SystemZPostRASchedStrategy::enterMBB(MachineBasicBlock *NextMBB) {
   94   MachineBasicBlock *SinglePredMBB =
  108   for (MachineBasicBlock::iterator I = SinglePredMBB->getFirstTerminator();
  146 void SystemZPostRASchedStrategy::initPolicy(MachineBasicBlock::iterator Begin,
lib/Target/SystemZ/SystemZMachineScheduler.h
   99   MachineBasicBlock *MBB;
  103   typedef std::map<MachineBasicBlock*, SystemZHazardRecognizer*> MBB2HazRec;
  112   void advanceTo(MachineBasicBlock::iterator NextBegin);
  119   void initPolicy(MachineBasicBlock::iterator Begin,
  133   void enterMBB(MachineBasicBlock *NextMBB) override;
lib/Target/SystemZ/SystemZPostRewrite.cpp
   50   void selectLOCRMux(MachineBasicBlock &MBB,
   51                      MachineBasicBlock::iterator MBBI,
   55   void selectSELRMux(MachineBasicBlock &MBB,
   56                      MachineBasicBlock::iterator MBBI,
   60   bool expandCondMove(MachineBasicBlock &MBB,
   61                       MachineBasicBlock::iterator MBBI,
   63   bool selectMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   63   bool selectMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
   65   bool selectMBB(MachineBasicBlock &MBB);
   84 void SystemZPostRewrite::selectLOCRMux(MachineBasicBlock &MBB,
   85                                        MachineBasicBlock::iterator MBBI,
  105 void SystemZPostRewrite::selectSELRMux(MachineBasicBlock &MBB,
  106                                        MachineBasicBlock::iterator MBBI,
  157 bool SystemZPostRewrite::expandCondMove(MachineBasicBlock &MBB,
  158                                         MachineBasicBlock::iterator MBBI,
  177   MachineBasicBlock *RestMBB = MF.CreateMachineBasicBlock(BB);
  185   MachineBasicBlock *MoveMBB = MF.CreateMachineBasicBlock(BB);
  212 bool SystemZPostRewrite::selectMI(MachineBasicBlock &MBB,
  213                                   MachineBasicBlock::iterator MBBI,
  250 bool SystemZPostRewrite::selectMBB(MachineBasicBlock &MBB) {
  253   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  255     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
  267   for (auto &MBB : MF)
lib/Target/SystemZ/SystemZRegisterInfo.cpp
  252 SystemZRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
  257   MachineBasicBlock &MBB = *MI->getParent();
  361   MachineBasicBlock *MBB = MI->getParent();
  374   MachineBasicBlock::iterator MII = nullptr, MEE = nullptr;
lib/Target/SystemZ/SystemZRegisterInfo.h
   82   void eliminateFrameIndex(MachineBasicBlock::iterator MI,
lib/Target/SystemZ/SystemZShortenInst.cpp
   35   bool processBlock(MachineBasicBlock &MBB);
  197 bool SystemZShortenInst::processBlock(MachineBasicBlock &MBB) {
  375   for (auto &MBB : F)
lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp
   76   MachineBasicBlock &EntryMBB = MF.front();
   77   MachineBasicBlock::iterator InsertPt = EntryMBB.end();
lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
   51   virtual MachineBasicBlock *getHeader() const = 0;
   52   virtual bool contains(const MachineBasicBlock *MBB) const = 0;
   54   using block_iterator = typename ArrayRef<MachineBasicBlock *>::const_iterator;
   64   MachineBasicBlock *getHeader() const override { return Region->getHeader(); }
   65   bool contains(const MachineBasicBlock *MBB) const override {
   91   const Region *getRegionFor(const MachineBasicBlock *MBB) {
  143 static void maybeUpdateTerminator(MachineBasicBlock *MBB) {
  196   bool operator()(const MachineBasicBlock *A,
  197                   const MachineBasicBlock *B) const {
  210   bool operator()(const MachineBasicBlock *A,
  211                   const MachineBasicBlock *B) const {
  230   std::vector<MachineBasicBlock *> Deferred;
  248   for (MachineBasicBlock &MBB : MF) {
  252         for (const MachineBasicBlock *Pred : MBB.predecessors())
  266   PriorityQueue<MachineBasicBlock *, std::vector<MachineBasicBlock *>,
  266   PriorityQueue<MachineBasicBlock *, std::vector<MachineBasicBlock *>,
  269   PriorityQueue<MachineBasicBlock *, std::vector<MachineBasicBlock *>,
  269   PriorityQueue<MachineBasicBlock *, std::vector<MachineBasicBlock *>,
  275   for (MachineBasicBlock *MBB = &MF.front();;) {
  294     for (MachineBasicBlock *Succ : MBB->successors()) {
  305     MachineBasicBlock *Next = nullptr;
  366   for (auto &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
   56   SmallVector<MachineBasicBlock *, 8> ScopeTops;
   60   void placeBlockMarker(MachineBasicBlock &MBB);
   61   void placeLoopMarker(MachineBasicBlock &MBB);
   62   void placeTryMarker(MachineBasicBlock &MBB);
   73   DenseMap<const MachineInstr *, MachineBasicBlock *> TryToEHPad;
   75   DenseMap<const MachineBasicBlock *, MachineInstr *> EHPadToTry;
   81   MachineBasicBlock *AppendixBB = nullptr;
   82   MachineBasicBlock *getAppendixBlock(MachineFunction &MF) {
   96                         MachineBasicBlock *EHPad);
  121 static bool explicitlyBranchesTo(MachineBasicBlock *Pred,
  122                                  MachineBasicBlock *MBB) {
  135 static MachineBasicBlock::iterator
  159 static MachineBasicBlock::iterator
  186                                               MachineBasicBlock *EHPad) {
  198   MachineBasicBlock *EHPad = TryToEHPad.lookup(Begin);
  209 void WebAssemblyCFGStackify::placeBlockMarker(MachineBasicBlock &MBB) {
  219   MachineBasicBlock *Header = nullptr;
  224   for (MachineBasicBlock *Pred : MBB.predecessors()) {
  243   MachineBasicBlock *LayoutPred = MBB.getPrevNode();
  248     if (MachineBasicBlock *ScopeTop = ScopeTops[I->getNumber()]) {
  271       auto *LoopBottom = BeginToEnd[&MI]->getParent()->getPrevNode();
  373 void WebAssemblyCFGStackify::placeLoopMarker(MachineBasicBlock &MBB) {
  384   MachineBasicBlock *Bottom = WebAssembly::getBottom(Loop);
  390   MachineBasicBlock *AfterLoop = &*Iter;
  439 void WebAssemblyCFGStackify::placeTryMarker(MachineBasicBlock &MBB) {
  448   MachineBasicBlock *Header = nullptr;
  450   for (auto *Pred : MBB.predecessors()) {
  464   MachineBasicBlock *Bottom = WebAssembly::getBottom(WE);
  471   MachineBasicBlock *Cont = &*Iter;
  474   MachineBasicBlock *LayoutPred = Cont->getPrevNode();
  479     if (MachineBasicBlock *ScopeTop = ScopeTops[I->getNumber()]) {
  502       auto *LoopBottom = BeginToEnd[&MI]->getParent()->getPrevNode();
  655   for (auto &MBB : MF) {
  659     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
  661     MachineBasicBlock *EHPadLayoutPred = MBB.getPrevNode();
  662     MachineBasicBlock *Cont = BeginToEnd[EHPadToTry[&MBB]]->getParent();
  681   for (auto &MBB : MF) {
  687       MachineBasicBlock *TryBB = Try->getParent();
  688       MachineBasicBlock *Cont = EndTry->getParent();
  710 static void unstackifyVRegsUsedInSplitBB(MachineBasicBlock &MBB,
  711                                          MachineBasicBlock &Split,
  859   SmallVector<const MachineBasicBlock *, 8> EHPadStack;
  863   DenseMap<MachineBasicBlock *, SmallVector<TryRange, 4>> UnwindDestToTryRanges;
  865   DenseMap<MachineBasicBlock *, SmallVector<TryRange, 4>> BrDestToTryRanges;
  867   DenseMap<MachineBasicBlock *, unsigned> BrDestToExnReg;
  871   for (auto &MBB : reverse(MF)) {
  890       MachineBasicBlock *UnwindDest = nullptr;
  891       for (auto *Succ : MBB.successors()) {
  912   for (auto &MBB : reverse(MF)) {
  967     auto *AppendixBB = getAppendixBlock(MF);
 1006     MachineBasicBlock *EHPad = P.first;
 1032     MachineBasicBlock *Cont = EndTry->getParent();
 1033     auto *BrDest = MF.CreateMachineBasicBlock();
 1069     MachineBasicBlock *EHPadLayoutPred = &*std::prev(EHPad->getIterator());
 1070     MachineBasicBlock *TBB = nullptr, *FBB = nullptr;
 1104     MachineBasicBlock *BrDest = P.first;
 1111       auto *MBB = RangeBegin->getParent();
 1121       MachineBasicBlock *EHPad = nullptr;
 1122       for (auto *Succ : MBB->successors()) {
 1136       MachineBasicBlock *NestedEHPad = MF.CreateMachineBasicBlock();
 1146       MachineBasicBlock *NestedCont = MF.CreateMachineBasicBlock();
 1173   for (auto &MBB : reverse(MF)) {
 1194   SmallVector <MachineBasicBlock *, 8> BrDests;
 1203   for (auto *Dest : BrDests)
 1210 getDepth(const SmallVectorImpl<const MachineBasicBlock *> &Stack,
 1211          const MachineBasicBlock *MBB) {
 1243   for (MachineBasicBlock &MBB : reverse(MF)) {
 1276   for (auto &MBB : MF)
 1280   for (auto &MBB : MF) {
 1299   SmallVector<const MachineBasicBlock *, 8> Stack;
 1300   for (auto &MBB : reverse(MF)) {
lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp
  110   for (MachineBasicBlock &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
   26   MachineBasicBlock *MBB = Insert->getParent();
   38   MachineBasicBlock *MBB = Insert->getParent();
lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
   50     MachineBasicBlock *EHPad = DomNode->getBlock();
   60     MachineBasicBlock *MBB = DomNode->getBlock();
  102   MachineBasicBlock *EHPad = WE->getEHPad();
  103   SmallVector<MachineBasicBlock *, 8> WL;
  106     MachineBasicBlock *MBB = WL.pop_back_val();
  132     for (auto *Succ : MBB->successors())
  142 WebAssemblyExceptionInfo::getOutermostException(MachineBasicBlock *MBB) const {
  156     MachineBasicBlock *MBB = getBlocks()[I];
lib/Target/WebAssembly/WebAssemblyExceptionInfo.h
   43   MachineBasicBlock *EHPad = nullptr;
   47   std::vector<MachineBasicBlock *> Blocks;
   48   SmallPtrSet<const MachineBasicBlock *, 8> BlockSet;
   51   WebAssemblyException(MachineBasicBlock *EHPad) : EHPad(EHPad) {}
   56   MachineBasicBlock *getEHPad() const { return EHPad; }
   57   MachineBasicBlock *getHeader() const { return EHPad; }
   68   bool contains(const MachineBasicBlock *MBB) const {
   72   void addBlock(MachineBasicBlock *MBB) {
   76   ArrayRef<MachineBasicBlock *> getBlocks() const { return Blocks; }
   77   using block_iterator = typename ArrayRef<MachineBasicBlock *>::const_iterator;
   84   std::vector<MachineBasicBlock *> &getBlocksVector() { return Blocks; }
  119   DenseMap<const MachineBasicBlock *, WebAssemblyException *> BBMap;
  125   WebAssemblyException *getOutermostException(MachineBasicBlock *MBB) const;
  147   WebAssemblyException *getExceptionFor(const MachineBasicBlock *MBB) const {
  151   void changeExceptionFor(MachineBasicBlock *MBB, WebAssemblyException *WE) {
lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
  204   for (MachineBasicBlock::iterator I = MF.begin()->begin(),
  227   for (MachineBasicBlock &MBB : MF) {
  228     for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end(); I != E;) {
  384   for (const MachineBasicBlock &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyFastISel.cpp
 1148   MachineBasicBlock::iterator Iter = FuncInfo.InsertPt;
 1272     MachineBasicBlock *MSucc = FuncInfo.MBBMap[Br->getSuccessor(0)];
 1277   MachineBasicBlock *TBB = FuncInfo.MBBMap[Br->getSuccessor(0)];
 1278   MachineBasicBlock *FBB = FuncInfo.MBBMap[Br->getSuccessor(1)];
lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
   66 using BlockVector = SmallVector<MachineBasicBlock *, 4>;
   67 using BlockSet = SmallPtrSet<MachineBasicBlock *, 4>;
   74   ReachabilityGraph(MachineBasicBlock *Entry, const BlockSet &Blocks)
   78     for (auto *MBB : Blocks) {
   80         for (auto *Pred : MBB->predecessors()) {
   89   bool canReach(MachineBasicBlock *From, MachineBasicBlock *To) const {
   89   bool canReach(MachineBasicBlock *From, MachineBasicBlock *To) const {
  113   MachineBasicBlock *Entry;
  117   DenseMap<MachineBasicBlock *, BlockSet> LoopEnterers;
  119   bool inRegion(MachineBasicBlock *MBB) const { return Blocks.count(MBB); }
  122   DenseMap<MachineBasicBlock *, BlockSet> Reachable;
  127     using BlockPair = std::pair<MachineBasicBlock *, MachineBasicBlock *>;
  127     using BlockPair = std::pair<MachineBasicBlock *, MachineBasicBlock *>;
  131     for (auto *MBB : Blocks) {
  132       for (auto *Succ : MBB->successors()) {
  141       MachineBasicBlock *MBB, *Succ;
  147         for (auto *Pred : MBB->predecessors()) {
  156     for (auto *MBB : Blocks) {
  165     for (auto *Looper : Loopers) {
  166       for (auto *Pred : Looper->predecessors()) {
  182   LoopBlocks(MachineBasicBlock *Entry, const BlockSet &Enterers)
  190   MachineBasicBlock *Entry;
  201     for (auto *Pred : Entry->predecessors()) {
  209       auto *MBB = WorkList.pop_back_val();
  212         for (auto *Pred : MBB->predecessors()) {
  230   bool processRegion(MachineBasicBlock *Entry, BlockSet &Blocks,
  242     MachineBasicBlock *Entry, BlockSet &Blocks, MachineFunction &MF) {
  252     for (auto *LoopEntry : Graph.getLoopEntries()) {
  274       for (auto *OtherLoopEntry : Graph.getLoopEntries()) {
  299     for (auto *LoopEntry : Graph.getLoopEntries()) {
  350   MachineBasicBlock *Dispatch = MF.CreateMachineBasicBlock();
  367   DenseMap<MachineBasicBlock *, unsigned> Indices;
  368   for (auto *Entry : SortedEntries) {
  384   for (auto *Entry : SortedEntries) {
  385     for (auto *Pred : Entry->predecessors()) {
  393   DenseSet<MachineBasicBlock *> InLoop;
  394   for (auto *Pred : AllPreds) {
  395     for (auto *Entry : Pred->successors()) {
  407   std::map<std::pair<bool, MachineBasicBlock *>, MachineBasicBlock *>
  407   std::map<std::pair<bool, MachineBasicBlock *>, MachineBasicBlock *>
  409   for (auto *Pred : AllPreds)
  410     for (auto *Entry : Pred->successors())
  418   std::map<std::pair<bool, MachineBasicBlock *>, MachineBasicBlock *> Map;
  418   std::map<std::pair<bool, MachineBasicBlock *>, MachineBasicBlock *> Map;
  419   for (auto *Pred : AllPreds) {
  421     for (auto *Entry : Pred->successors()) {
  433       MachineBasicBlock *Routing = MF.CreateMachineBasicBlock();
  450   for (auto *Pred : AllPreds) {
  458     for (auto *Succ : Pred->successors()) {
  461       auto *Routing = Map[std::make_pair(PredInLoop, Succ)];
  490   for (auto &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
  126     unsigned SrcReg, MachineFunction &MF, MachineBasicBlock &MBB,
  127     MachineBasicBlock::iterator &InsertStore, const DebugLoc &DL) const {
  137 MachineBasicBlock::iterator
  153                                             MachineBasicBlock &MBB) const {
  226                                             MachineBasicBlock &MBB) const {
lib/Target/WebAssembly/WebAssemblyFrameLowering.h
   37   MachineBasicBlock::iterator
   42   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   43   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   52                        MachineBasicBlock &MBB,
   53                        MachineBasicBlock::iterator &InsertStore,
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  331 static MachineBasicBlock *LowerFPToInt(MachineInstr &MI, DebugLoc DL,
  332                                        MachineBasicBlock *BB,
  356   MachineBasicBlock *TrueMBB = F->CreateMachineBasicBlock(LLVMBB);
  357   MachineBasicBlock *FalseMBB = F->CreateMachineBasicBlock(LLVMBB);
  358   MachineBasicBlock *DoneMBB = F->CreateMachineBasicBlock(LLVMBB);
  424 MachineBasicBlock *WebAssemblyTargetLowering::EmitInstrWithCustomInserter(
  425     MachineInstr &MI, MachineBasicBlock *BB) const {
lib/Target/WebAssembly/WebAssemblyISelLowering.h
   50   MachineBasicBlock *
   52                               MachineBasicBlock *MBB) const override;
lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
   55 void WebAssemblyInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   56                                        MachineBasicBlock::iterator I,
  101 bool WebAssemblyInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  102                                          MachineBasicBlock *&TBB,
  103                                          MachineBasicBlock *&FBB,
  157 unsigned WebAssemblyInstrInfo::removeBranch(MachineBasicBlock &MBB,
  161   MachineBasicBlock::instr_iterator I = MBB.instr_end();
  180     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  180     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
  180     MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB,
lib/Target/WebAssembly/WebAssemblyInstrInfo.h
   48   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   48   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
   55   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   55   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   56                      MachineBasicBlock *&FBB,
   59   unsigned removeBranch(MachineBasicBlock &MBB,
   61   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   61   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   62                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
   60 static MachineBasicBlock *getMatchingEHPad(MachineInstr *MI) {
   62   SmallVector<MachineBasicBlock *, 2> WL;
   63   SmallPtrSet<MachineBasicBlock *, 2> Visited;
   65   MachineBasicBlock *EHPad = nullptr;
   67     MachineBasicBlock *MBB = WL.pop_back_val();
   88   SmallVector<MachineBasicBlock *, 8> WL(MBBs.begin(), MBBs.end());
   90     MachineBasicBlock *MBB = WL.pop_back_val();
   93     SmallVector<MachineBasicBlock *, 4> Succs(MBB->succ_begin(),
   96     for (auto *Succ : Succs)
  129   for (auto &MBB : MF) {
  147   for (auto &MBB : MF) {
  156       MachineBasicBlock *TBB = TI->getOperand(0).getMBB();
  167       auto *EHPad = getMatchingEHPad(TI);
  187   for (auto &MBB : MF) {
  199       SmallVector<MachineBasicBlock *, 8> Succs(MBB.succ_begin(),
  201       for (auto *Succ : Succs)
  241   for (auto &MBB : MF) {
  258   SmallSet<MachineBasicBlock *, 8> TerminatePads;
  259   for (auto &MBB : MF) {
  271     MachineBasicBlock *EHPad = getMatchingEHPad(Extract);
  298     auto *ThenMBB = MF.CreateMachineBasicBlock();
  299     auto *ElseMBB = MF.CreateMachineBasicBlock();
  371   for (auto &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp
   65   for (auto &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
   84 static bool replaceDominatedUses(MachineBasicBlock &MBB, MachineInstr &MI,
  149 static bool optimizeCall(MachineBasicBlock &MBB, MachineInstr &MI,
  198   for (auto &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyPeephole.cpp
   74 static bool maybeRewriteToFallthrough(MachineInstr &MI, MachineBasicBlock &MBB,
   84   MachineBasicBlock::iterator End = MBB.end();
  147   for (auto &MBB : MF)
lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp
   82   MachineBasicBlock &Entry = *MF.begin();
lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp
   73   MachineBasicBlock &EntryMBB = MF.front();
lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
  324     const MachineBasicBlock *MBB = Def->getParent();
  373   MachineBasicBlock::const_iterator D(Def), I(Insert);
  401                                      const MachineBasicBlock &MBB,
  484                                       MachineInstr *Def, MachineBasicBlock &MBB,
  529     unsigned Reg, MachineOperand &Op, MachineInstr &Def, MachineBasicBlock &MBB,
  530     MachineBasicBlock::instr_iterator Insert, LiveIntervals &LIS,
  597     unsigned Reg, MachineOperand &Op, MachineInstr *Def, MachineBasicBlock &MBB,
  785   for (MachineBasicBlock &MBB : MF) {
  904     for (MachineBasicBlock &MBB : MF)
  911   for (MachineBasicBlock &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
   54     MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum,
   59   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
   37   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp
   85   for (auto &MBB : MF) {
lib/Target/WebAssembly/WebAssemblyUtilities.h
   39 template <typename T> MachineBasicBlock *getBottom(const T *Unit) {
   40   MachineBasicBlock *Bottom = Unit->getHeader();
   41   for (MachineBasicBlock *MBB : Unit->blocks())
lib/Target/X86/X86AsmPrinter.h
  132   void EmitBasicBlockEnd(const MachineBasicBlock &MBB) override {
lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
  359     MachineBasicBlock *MBB = LoadInst->getParent();
  361     for (MachineBasicBlock::pred_iterator PB = MBB->pred_begin(),
  364       MachineBasicBlock *PMBB = *PB;
  366       for (MachineBasicBlock::reverse_iterator PBInst = PMBB->rbegin(),
  390   MachineBasicBlock *MBB = LoadInst->getParent();
  537   for (auto &MBB : MF)
lib/Target/X86/X86AvoidTrailingCall.cpp
   69   for (MachineBasicBlock &MBB : MF) {
   72     MachineBasicBlock *NextMBB = MBB.getNextNode();
   78     MachineBasicBlock::reverse_iterator LastRealInstr;
   79     for (MachineBasicBlock &RMBB :
  100       MachineBasicBlock::iterator MBBI = std::next(LastRealInstr.getReverse());
lib/Target/X86/X86CallFrameOptimization.cpp
   74     MachineBasicBlock::iterator FrameSetup;
  101   void collectCallInfo(MachineFunction &MF, MachineBasicBlock &MBB,
  102                        MachineBasicBlock::iterator I, CallContext &Context);
  106   MachineInstr *canFoldIntoRegPush(MachineBasicBlock::iterator FrameSetup,
  111   InstClassification classifyInstruction(MachineBasicBlock &MBB,
  112                                          MachineBasicBlock::iterator MI,
  168   for (MachineBasicBlock &BB : MF) {
  257   for (auto &MBB : MF)
  280     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  280     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  354                                                MachineBasicBlock &MBB,
  355                                                MachineBasicBlock::iterator I,
  364   MachineBasicBlock::iterator FrameSetup = I++;
  498   MachineBasicBlock::iterator FrameSetup = Context.FrameSetup;
  499   MachineBasicBlock &MBB = *(FrameSetup->getParent());
  508     MachineBasicBlock::iterator Store = *Context.ArgStoreVector[Idx];
  510     MachineBasicBlock::iterator Push = nullptr;
  600     MachineBasicBlock::iterator FrameSetup, unsigned Reg) {
  629   for (MachineBasicBlock::iterator I = DefMI; I != FrameSetup; ++I)
lib/Target/X86/X86CallLowering.cpp
  364   MachineBasicBlock &MBB = MIRBuilder.getMBB();
lib/Target/X86/X86CmovConversion.cpp
  129   bool collectCmovCandidates(ArrayRef<MachineBasicBlock *> Blocks,
  139   bool checkForProfitableCmovCandidates(ArrayRef<MachineBasicBlock *> Blocks,
  181     SmallVector<MachineBasicBlock *, 4> Blocks;
  182     for (auto &MBB : MF)
  254     ArrayRef<MachineBasicBlock *> Blocks, CmovGroups &CmovInstGroups,
  277   for (auto *MBB : Blocks) {
  375     ArrayRef<MachineBasicBlock *> Blocks, CmovGroups &CmovInstGroups) {
  425     for (auto *MBB : Blocks) {
  570   MachineBasicBlock *BB = MI->getParent();
  571   MachineBasicBlock::iterator ItrMI = MI;
  605   MachineBasicBlock *MBB = First->getParent();
  664   MachineBasicBlock *MBB = MI.getParent();
  669   MachineBasicBlock *FalseMBB = F->CreateMachineBasicBlock(BB);
  670   MachineBasicBlock *SinkMBB = F->CreateMachineBasicBlock(BB);
  697   MachineBasicBlock::iterator MIItBegin = MachineBasicBlock::iterator(MI);
  698   MachineBasicBlock::iterator MIItEnd =
  700   MachineBasicBlock::iterator FalseInsertionPoint = FalseMBB->begin();
  701   MachineBasicBlock::iterator SinkInsertionPoint = SinkMBB->begin();
  708   for (MachineBasicBlock::iterator MIIt = MIItBegin; MIIt != MIItEnd;) {
  812   for (MachineBasicBlock::iterator MIIt = MIItBegin; MIIt != MIItEnd; ++MIIt) {
lib/Target/X86/X86CondBrFolding.cpp
   89   MachineBasicBlock *TBB;
   90   MachineBasicBlock *FBB;
  114   SmallVector<MachineBasicBlock *, 4> RemoveList;
  116   void optimizeCondBr(MachineBasicBlock &MBB,
  117                       SmallVectorImpl<MachineBasicBlock *> &BranchPath);
  118   void fixBranchProb(MachineBasicBlock *NextMBB, MachineBasicBlock *RootMBB,
  118   void fixBranchProb(MachineBasicBlock *NextMBB, MachineBasicBlock *RootMBB,
  119                      SmallVectorImpl<MachineBasicBlock *> &BranchPath);
  120   void replaceBrDest(MachineBasicBlock *MBB, MachineBasicBlock *OrigDest,
  120   void replaceBrDest(MachineBasicBlock *MBB, MachineBasicBlock *OrigDest,
  121                      MachineBasicBlock *NewDest);
  122   void fixupModifiedCond(MachineBasicBlock *MBB);
  123   std::unique_ptr<TargetMBBInfo> analyzeMBB(MachineBasicBlock &MBB);
  126   bool findPath(MachineBasicBlock *MBB,
  127                 SmallVectorImpl<MachineBasicBlock *> &BranchPath);
  128   TargetMBBInfo *getMBBInfo(MachineBasicBlock *MBB) const {
  140     MachineBasicBlock *MBB, SmallVectorImpl<MachineBasicBlock *> &BranchPath) {
  140     MachineBasicBlock *MBB, SmallVectorImpl<MachineBasicBlock *> &BranchPath) {
  145   MachineBasicBlock *PredMBB = *MBB->pred_begin();
  146   MachineBasicBlock *SaveMBB = MBB;
  185 static void fixPHIsInSucc(MachineBasicBlock *MBB, MachineBasicBlock *OldMBB,
  185 static void fixPHIsInSucc(MachineBasicBlock *MBB, MachineBasicBlock *OldMBB,
  186                           MachineBasicBlock *NewMBB) {
  199 static inline bool setBranchProb(MachineBasicBlock *MBB,
  200                                  MachineBasicBlock *SuccMBB,
  210 static inline MachineBasicBlock::iterator
  219 void X86CondBrFolding::replaceBrDest(MachineBasicBlock *MBB,
  220                                      MachineBasicBlock *OrigDest,
  221                                      MachineBasicBlock *NewDest) {
  232     MachineBasicBlock::iterator UncondBrI = findUncondBrI(MBB);
  246 void X86CondBrFolding::fixupModifiedCond(MachineBasicBlock *MBB) {
  259   MachineBasicBlock::iterator UncondBrI = findUncondBrI(MBB);
  281     MachineBasicBlock &MBB, SmallVectorImpl<MachineBasicBlock *> &BranchPath) {
  281     MachineBasicBlock &MBB, SmallVectorImpl<MachineBasicBlock *> &BranchPath) {
  286   MachineBasicBlock *TargetMBB = MBBInfo->TBB;
  290   MachineBasicBlock *PredMBB = BranchPath.front();
  301   MachineBasicBlock *RootMBB = BranchPath.back();
  309     MachineBasicBlock::iterator UncondBrI = findUncondBrI(RootMBB);
  350       MachineBasicBlock *ThisMBB = I;
  393   for (auto &MBB : MF)
  396   for (auto &MBB : MF) {
  404     SmallVector<MachineBasicBlock *, 4> BranchPath;
  413       MachineBasicBlock *PMBB = *I;
  481 X86CondBrFolding::analyzeMBB(MachineBasicBlock &MBB) {
  482   MachineBasicBlock *TBB;
  483   MachineBasicBlock *FBB;
  498   MachineBasicBlock::iterator I = MBB.end();
lib/Target/X86/X86DiscriminateMemOps.cpp
  108   for (auto &MBB : MF) {
  127   for (auto &MBB : MF) {
lib/Target/X86/X86DomainReassignment.cpp
  182     MachineBasicBlock *MBB = MI->getParent();
lib/Target/X86/X86EvexToVex.cpp
  105   for (MachineBasicBlock &MBB : MF) {
lib/Target/X86/X86ExpandPseudo.cpp
   62   void ExpandICallBranchFunnel(MachineBasicBlock *MBB,
   63                                MachineBasicBlock::iterator MBBI);
   65   bool ExpandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI);
   65   bool ExpandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI);
   66   bool ExpandMBB(MachineBasicBlock &MBB);
   76     MachineBasicBlock *MBB, MachineBasicBlock::iterator MBBI) {
   76     MachineBasicBlock *MBB, MachineBasicBlock::iterator MBBI) {
   77   MachineBasicBlock *JTMBB = MBB;
   84   std::vector<std::pair<MachineBasicBlock *, unsigned>> TargetMBBs;
  105     auto *NewMBB = MF->CreateMachineBasicBlock(BB);
  115     auto *ElseMBB = CreateMBB();
  122     auto *ThenMBB = CreateMBB();
  154     auto *ThenMBB = CreateMBB();
  179 bool X86ExpandPseudo::ExpandMI(MachineBasicBlock &MBB,
  180                                MachineBasicBlock::iterator MBBI) {
  383 bool X86ExpandPseudo::ExpandMBB(MachineBasicBlock &MBB) {
  387   MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end();
  389     MachineBasicBlock::iterator NMBBI = std::next(MBBI);
  405   for (MachineBasicBlock &MBB : MF)
lib/Target/X86/X86FastISel.cpp
 1628   MachineBasicBlock *TrueMBB = FuncInfo.MBBMap[BI->getSuccessor(0)];
 1629   MachineBasicBlock *FalseMBB = FuncInfo.MBBMap[BI->getSuccessor(1)];
 3969   MachineBasicBlock::iterator I(MI);
lib/Target/X86/X86FixupBWInsts.cpp
   77   void processBasicBlock(MachineFunction &MF, MachineBasicBlock &MBB);
  104   MachineInstr *tryReplaceInstr(MachineInstr *MI, MachineBasicBlock &MBB) const;
  164   for (auto &MBB : MF)
  363                                                MachineBasicBlock &MBB) const {
  409                                         MachineBasicBlock &MBB) {
lib/Target/X86/X86FixupLEAs.cpp
   43   void seekLEAFixup(MachineOperand &p, MachineBasicBlock::iterator &I,
   50   void processInstruction(MachineBasicBlock::iterator &I,
   55   void processInstructionForSlowLEA(MachineBasicBlock::iterator &I,
   70   void processInstrForSlow3OpLEA(MachineBasicBlock::iterator &I,
   75   bool optTwoAddrLEA(MachineBasicBlock::iterator &I,
   81   RegUsageState usesRegister(MachineOperand &p, MachineBasicBlock::iterator I);
   86   MachineBasicBlock::iterator searchBackwards(MachineOperand &p,
   93   MachineInstr *postRAConvertToLEA(MachineBasicBlock &MBB,
   94                                    MachineBasicBlock::iterator &MBBI) const;
  126 FixupLEAPass::postRAConvertToLEA(MachineBasicBlock &MBB,
  127                                  MachineBasicBlock::iterator &MBBI) const {
  210   for (MachineBasicBlock &MBB : MF) {
  212     for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ++I) {
  228       for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ++I)
  239 FixupLEAPass::usesRegister(MachineOperand &p, MachineBasicBlock::iterator I) {
  258 static inline bool getPreviousInstr(MachineBasicBlock::iterator &I,
  271 MachineBasicBlock::iterator
  275   MachineBasicBlock::iterator CurInst;
  352 bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
  442 void FixupLEAPass::processInstruction(MachineBasicBlock::iterator &I,
  462                                 MachineBasicBlock::iterator &I,
  464   MachineBasicBlock::iterator MBI = searchBackwards(p, I, MBB);
  473       MachineBasicBlock::iterator J =
  480 void FixupLEAPass::processInstructionForSlowLEA(MachineBasicBlock::iterator &I,
  529 void FixupLEAPass::processInstrForSlow3OpLEA(MachineBasicBlock::iterator &I,
lib/Target/X86/X86FixupSetCC.cpp
   47   MachineInstr *findFlagsImpDef(MachineBasicBlock *MBB,
   48                                 MachineBasicBlock::reverse_iterator MI);
   75 X86FixupSetCCPass::findFlagsImpDef(MachineBasicBlock *MBB,
   76                                    MachineBasicBlock::reverse_iterator MI) {
  102   for (auto &MBB : MF) {
lib/Target/X86/X86FlagsCopyLowering.cpp
   97   CondRegArray collectCondsInRegs(MachineBasicBlock &MBB,
   98                                   MachineBasicBlock::iterator CopyDefI);
  100   unsigned promoteCondToReg(MachineBasicBlock &MBB,
  101                             MachineBasicBlock::iterator TestPos,
  104   getCondOrInverseInReg(MachineBasicBlock &TestMBB,
  105                         MachineBasicBlock::iterator TestPos, DebugLoc TestLoc,
  107   void insertTest(MachineBasicBlock &MBB, MachineBasicBlock::iterator Pos,
  107   void insertTest(MachineBasicBlock &MBB, MachineBasicBlock::iterator Pos,
  110   void rewriteArithmetic(MachineBasicBlock &TestMBB,
  111                          MachineBasicBlock::iterator TestPos, DebugLoc TestLoc,
  114   void rewriteCMov(MachineBasicBlock &TestMBB,
  115                    MachineBasicBlock::iterator TestPos, DebugLoc TestLoc,
  118   void rewriteCondJmp(MachineBasicBlock &TestMBB,
  119                       MachineBasicBlock::iterator TestPos, DebugLoc TestLoc,
  123   void rewriteSetCarryExtended(MachineBasicBlock &TestMBB,
  124                                MachineBasicBlock::iterator TestPos,
  127   void rewriteSetCC(MachineBasicBlock &TestMBB,
  128                     MachineBasicBlock::iterator TestPos, DebugLoc TestLoc,
  237 static MachineBasicBlock &splitBlock(MachineBasicBlock &MBB,
  237 static MachineBasicBlock &splitBlock(MachineBasicBlock &MBB,
  258   MachineBasicBlock &UnsplitSucc = *PrevI.getOperand(0).getMBB();
  275   MachineBasicBlock &NewMBB = *MF.CreateMachineBasicBlock();
  295   for (MachineBasicBlock *Succ : NewMBB.successors())
  304   for (MachineBasicBlock *Succ : NewMBB.successors()) {
  358   for (MachineBasicBlock *MBB : RPOT)
  365     MachineBasicBlock &MBB = *CopyI->getParent();
  408     MachineBasicBlock *TestMBB = CopyDefI.getParent();
  439       SmallPtrSet<MachineBasicBlock *, 4> Visited;
  440       SmallVector<MachineBasicBlock *, 4> Worklist;
  445         auto *MBB = Worklist.pop_back_val();
  446         for (auto *PredMBB : MBB->predecessors()) {
  462       MachineBasicBlock *HoistMBB =
  516     SmallVector<MachineBasicBlock *, 2> Blocks;
  517     SmallPtrSet<MachineBasicBlock *, 2> VisitedBlocks;
  521       MachineBasicBlock &UseMBB = *Blocks.pop_back_val();
  644       for (MachineBasicBlock *SuccMBB : UseMBB.successors())
  683     MachineBasicBlock *LastJmpMBB = nullptr;
  700   for (MachineBasicBlock &MBB : MF)
  717     MachineBasicBlock &MBB, MachineBasicBlock::iterator TestPos) {
  717     MachineBasicBlock &MBB, MachineBasicBlock::iterator TestPos) {
  741     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  741     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  753     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  753     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  766 void X86FlagsCopyLoweringPass::insertTest(MachineBasicBlock &MBB,
  767                                           MachineBasicBlock::iterator Pos,
  777     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  777     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  814   MachineBasicBlock &MBB = *MI.getParent();
  829 void X86FlagsCopyLoweringPass::rewriteCMov(MachineBasicBlock &TestMBB,
  830                                            MachineBasicBlock::iterator TestPos,
  842   MachineBasicBlock &MBB = *CMovI.getParent();
  856     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  856     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  865   MachineBasicBlock &JmpMBB = *JmpI.getParent();
  887     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  887     MachineBasicBlock &TestMBB, MachineBasicBlock::iterator TestPos,
  911   MachineBasicBlock &MBB = *SetBI.getParent();
 1010 void X86FlagsCopyLoweringPass::rewriteSetCC(MachineBasicBlock &TestMBB,
 1011                                             MachineBasicBlock::iterator TestPos,
lib/Target/X86/X86FloatingPoint.cpp
  125     static unsigned calcLiveInMask(MachineBasicBlock *MBB, bool RemoveFPs) {
  127       for (MachineBasicBlock::livein_iterator I = MBB->livein_begin();
  146     MachineBasicBlock *MBB;     // Current basic block
  224     void moveToTop(unsigned RegNo, MachineBasicBlock::iterator I) {
  245                         MachineBasicBlock::iterator I) {
  255     void popStackAfter(MachineBasicBlock::iterator &I);
  262     void freeStackSlotAfter(MachineBasicBlock::iterator &I, unsigned Reg);
  266     MachineBasicBlock::iterator
  270     void adjustLiveRegs(unsigned Mask, MachineBasicBlock::iterator I);
  275                          MachineBasicBlock::iterator I);
  277     bool processBasicBlock(MachineFunction &MF, MachineBasicBlock &MBB);
  279     void handleCall(MachineBasicBlock::iterator &I);
  280     void handleReturn(MachineBasicBlock::iterator &I);
  281     void handleZeroArgFP(MachineBasicBlock::iterator &I);
  282     void handleOneArgFP(MachineBasicBlock::iterator &I);
  283     void handleOneArgFPRW(MachineBasicBlock::iterator &I);
  284     void handleTwoArgFP(MachineBasicBlock::iterator &I);
  285     void handleCompareFP(MachineBasicBlock::iterator &I);
  286     void handleCondMovFP(MachineBasicBlock::iterator &I);
  287     void handleSpecialFP(MachineBasicBlock::iterator &I);
  298     void setKillFlags(MachineBasicBlock &MBB) const;
  350   df_iterator_default_set<MachineBasicBlock*> Processed;
  351   MachineBasicBlock *Entry = &MF.front();
  373   for (MachineBasicBlock *BB : depth_first_ext(Entry, Processed))
  378     for (MachineBasicBlock &BB : MF)
  397   for (MachineBasicBlock &MBB : MF) {
  411 bool FPS::processBasicBlock(MachineFunction &MF, MachineBasicBlock &BB) {
  417   for (MachineBasicBlock::iterator I = BB.begin(); I != BB.end(); ++I) {
  556   MachineBasicBlock::iterator Term = MBB->getFirstTerminator();
  833 void FPS::popStackAfter(MachineBasicBlock::iterator &I) {
  855 void FPS::freeStackSlotAfter(MachineBasicBlock::iterator &I, unsigned FPRegNo) {
  869 MachineBasicBlock::iterator
  885 void FPS::adjustLiveRegs(unsigned Mask, MachineBasicBlock::iterator I) {
  913     MachineBasicBlock::iterator I2 = std::prev(I);
  951                           MachineBasicBlock::iterator I) {
  973 void FPS::handleCall(MachineBasicBlock::iterator &I) {
 1010 void FPS::handleReturn(MachineBasicBlock::iterator &I) {
 1097 void FPS::handleZeroArgFP(MachineBasicBlock::iterator &I) {
 1113 void FPS::handleOneArgFP(MachineBasicBlock::iterator &I) {
 1173 void FPS::handleOneArgFPRW(MachineBasicBlock::iterator &I) {
 1282 void FPS::handleTwoArgFP(MachineBasicBlock::iterator &I) {
 1380 void FPS::handleCompareFP(MachineBasicBlock::iterator &I) {
 1408 void FPS::handleCondMovFP(MachineBasicBlock::iterator &I) {
 1437 void FPS::handleSpecialFP(MachineBasicBlock::iterator &Inst) {
 1682 void FPS::setKillFlags(MachineBasicBlock &MBB) const {
 1689   for (MachineBasicBlock::reverse_iterator I = MBB.rbegin(), E = MBB.rend();
lib/Target/X86/X86FrameLowering.cpp
  145 static unsigned findDeadCallerSavedReg(MachineBasicBlock &MBB,
  146                                        MachineBasicBlock::iterator &MBBI,
  196 static bool isEAXLiveIn(MachineBasicBlock &MBB) {
  197   for (MachineBasicBlock::RegisterMaskPair RegMask : MBB.liveins()) {
  213 flagsNeedToBePreservedBeforeTheTerminators(const MachineBasicBlock &MBB) {
  240   for (const MachineBasicBlock *Succ : MBB.successors())
  249 void X86FrameLowering::emitSPUpdate(MachineBasicBlock &MBB,
  250                                     MachineBasicBlock::iterator &MBBI,
  347     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  347     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  394 int X86FrameLowering::mergeSPUpdates(MachineBasicBlock &MBB,
  395                                      MachineBasicBlock::iterator &MBBI,
  401   MachineBasicBlock::iterator PI = doMergeWithPrevious ? std::prev(MBBI) : MBBI;
  450 void X86FrameLowering::BuildCFI(MachineBasicBlock &MBB,
  451                                 MachineBasicBlock::iterator MBBI,
  461     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  461     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  485                                       MachineBasicBlock &MBB,
  486                                       MachineBasicBlock::iterator MBBI,
  501                                         MachineBasicBlock &PrologMBB) const {
  516     MachineBasicBlock::iterator MBBI = std::next(ChkStkStub->getIterator());
  526                                             MachineBasicBlock &MBB,
  527                                             MachineBasicBlock::iterator MBBI,
  564   MachineBasicBlock *RoundMBB = MF.CreateMachineBasicBlock(LLVM_BB);
  565   MachineBasicBlock *LoopMBB = MF.CreateMachineBasicBlock(LLVM_BB);
  566   MachineBasicBlock *ContinueMBB = MF.CreateMachineBasicBlock(LLVM_BB);
  574   MachineBasicBlock::iterator BeforeMBBI = std::prev(MBBI);
  715   MachineBasicBlock::iterator ContinueMBBI = ContinueMBB->getFirstNonPHI();
  754     for (MachineBasicBlock::iterator CMBBI = ContinueMBB->begin();
  762                                           MachineBasicBlock &MBB,
  763                                           MachineBasicBlock::iterator MBBI,
  782   MachineBasicBlock::iterator ExpansionMBBI = std::prev(MBBI);
  825     MachineFunction &MF, MachineBasicBlock &MBB,
  826     MachineBasicBlock::iterator MBBI, const DebugLoc &DL, bool InProlog) const {
  860 void X86FrameLowering::BuildStackAlignAND(MachineBasicBlock &MBB,
  861                                           MachineBasicBlock::iterator MBBI,
  972                                     MachineBasicBlock &MBB) const {
  975   MachineBasicBlock::iterator MBBI = MBB.begin();
 1591                                     MachineBasicBlock &MBB) const {
 1594   MachineBasicBlock::iterator Terminator = MBB.getFirstTerminator();
 1595   MachineBasicBlock::iterator MBBI = Terminator;
 1653   MachineBasicBlock::iterator FirstCSPop = MBBI;
 1656     MachineBasicBlock::iterator PI = std::prev(MBBI);
 1737       MachineBasicBlock::iterator PI = MBBI;
 2065     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2065     MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
 2136 void X86FrameLowering::emitCatchRetReturnValue(MachineBasicBlock &MBB,
 2137                                                MachineBasicBlock::iterator MBBI,
 2144   MachineBasicBlock *CatchRetTarget = CatchRet->getOperand(0).getMBB();
 2166 bool X86FrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
 2167                                                MachineBasicBlock::iterator MI,
 2289     MachineFunction &MF, MachineBasicBlock &PrologueMBB) const {
 2327   MachineBasicBlock *allocMBB = MF.CreateMachineBasicBlock();
 2328   MachineBasicBlock *checkMBB = MF.CreateMachineBasicBlock();
 2556 static bool blockEndIsUnreachable(const MachineBasicBlock &MBB,
 2557                                   MachineBasicBlock::const_iterator MBBI) {
 2582     MachineFunction &MF, MachineBasicBlock &PrologueMBB) const {
 2618     for (auto &MBB : MF) {
 2657     MachineBasicBlock *stackCheckMBB = MF.CreateMachineBasicBlock();
 2658     MachineBasicBlock *incStackMBB = MF.CreateMachineBasicBlock();
 2716 bool X86FrameLowering::adjustStackWithPops(MachineBasicBlock &MBB,
 2717                                            MachineBasicBlock::iterator MBBI,
 2736   MachineBasicBlock::iterator Prev = std::prev(MBBI);
 2792 MachineBasicBlock::iterator X86FrameLowering::
 2895     MachineBasicBlock::iterator CI = I;
 2896     MachineBasicBlock::iterator B = MBB.begin();
 2905 bool X86FrameLowering::canUseAsPrologue(const MachineBasicBlock &MBB) const {
 2911 bool X86FrameLowering::canUseAsEpilogue(const MachineBasicBlock &MBB) const {
 2944 MachineBasicBlock::iterator X86FrameLowering::restoreWin32EHStackPointers(
 3216   MachineBasicBlock &MBB = MF.front();
lib/Target/X86/X86FrameLowering.h
   53   void emitStackProbe(MachineFunction &MF, MachineBasicBlock &MBB,
   54                       MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
   59                         MachineBasicBlock &PrologMBB) const override;
   61   void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
   62                                  MachineBasicBlock::iterator MBBI,
   67   void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   68   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
   71                                 MachineBasicBlock &PrologueMBB) const override;
   74                              MachineBasicBlock &PrologueMBB) const override;
   84   bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   85                                  MachineBasicBlock::iterator MI,
   89   bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   90                                   MachineBasicBlock::iterator MI,
  110   MachineBasicBlock::iterator
  123   int mergeSPUpdates(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  123   int mergeSPUpdates(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  128   void emitSPUpdate(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  128   void emitSPUpdate(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
  142   bool canUseAsPrologue(const MachineBasicBlock &MBB) const override;
  149   bool canUseAsEpilogue(const MachineBasicBlock &MBB) const override;
  162   void BuildCFI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  162   void BuildCFI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
  167   MachineBasicBlock::iterator
  184   void emitStackProbeCall(MachineFunction &MF, MachineBasicBlock &MBB,
  185                           MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
  189   void emitStackProbeInline(MachineFunction &MF, MachineBasicBlock &MBB,
  190                             MachineBasicBlock::iterator MBBI,
  194   void emitStackProbeInlineStub(MachineFunction &MF, MachineBasicBlock &MBB,
  195                                 MachineBasicBlock::iterator MBBI,
  199   void BuildStackAlignAND(MachineBasicBlock &MBB,
  200                           MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
  204   bool adjustStackWithPops(MachineBasicBlock &MBB,
  205                            MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
  209   MachineInstrBuilder BuildStackAdjustment(MachineBasicBlock &MBB,
  210                                            MachineBasicBlock::iterator MBBI,
  219   void emitCatchRetReturnValue(MachineBasicBlock &MBB,
  220                                MachineBasicBlock::iterator MBBI,
lib/Target/X86/X86ISelLowering.cpp
 2220                                              const MachineBasicBlock *MBB,
29175 static MachineBasicBlock *emitXBegin(MachineInstr &MI, MachineBasicBlock *MBB,
29175 static MachineBasicBlock *emitXBegin(MachineInstr &MI, MachineBasicBlock *MBB,
29197   MachineBasicBlock *thisMBB = MBB;
29199   MachineBasicBlock *mainMBB = MF->CreateMachineBasicBlock(BB);
29200   MachineBasicBlock *fallMBB = MF->CreateMachineBasicBlock(BB);
29201   MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(BB);
29252 MachineBasicBlock *
29254                                                  MachineBasicBlock *MBB) const {
29319   MachineBasicBlock *thisMBB = MBB;
29320   MachineBasicBlock *overflowMBB;
29321   MachineBasicBlock *offsetMBB;
29322   MachineBasicBlock *endMBB;
29512 MachineBasicBlock *X86TargetLowering::EmitVAStartSaveXMMRegsWithCustomInserter(
29513     MachineInstr &MI, MachineBasicBlock *MBB) const {
29528   MachineBasicBlock *XMMSaveMBB = F->CreateMachineBasicBlock(LLVM_BB);
29529   MachineBasicBlock *EndMBB = F->CreateMachineBasicBlock(LLVM_BB);
29592 static bool checkAndUpdateEFLAGSKill(MachineBasicBlock::iterator SelectItr,
29596   MachineBasicBlock::iterator miI(std::next(SelectItr));
29597   for (MachineBasicBlock::iterator miE = BB->end(); miI != miE; ++miI) {
29608     for (MachineBasicBlock::succ_iterator sItr = BB->succ_begin(),
29611       MachineBasicBlock* succ = *sItr;
29662     MachineBasicBlock::iterator MIItBegin, MachineBasicBlock::iterator MIItEnd,
29672   MachineBasicBlock::iterator SinkInsertionPoint = SinkMBB->begin();
29683   for (MachineBasicBlock::iterator MIIt = MIItBegin; MIIt != MIItEnd; ++MIIt) {
29714 MachineBasicBlock *
29717                                              MachineBasicBlock *ThisMBB) const {
29794   MachineBasicBlock *FirstInsertedMBB = F->CreateMachineBasicBlock(LLVM_BB);
29795   MachineBasicBlock *SecondInsertedMBB = F->CreateMachineBasicBlock(LLVM_BB);
29796   MachineBasicBlock *SinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
29870 MachineBasicBlock *
29872                                      MachineBasicBlock *ThisMBB) const {
29926   MachineBasicBlock::iterator NextMIIt = MachineBasicBlock::iterator(MI);
29956   MachineBasicBlock *FalseMBB = F->CreateMachineBasicBlock(LLVM_BB);
29957   MachineBasicBlock *SinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
30001   MachineBasicBlock::iterator MIItBegin = MachineBasicBlock::iterator(MI);
30002   MachineBasicBlock::iterator MIItEnd =
30012 MachineBasicBlock *
30014                                         MachineBasicBlock *BB) const {
30044   MachineBasicBlock *mallocMBB = MF->CreateMachineBasicBlock(LLVM_BB);
30045   MachineBasicBlock *bumpMBB = MF->CreateMachineBasicBlock(LLVM_BB);
30046   MachineBasicBlock *continueMBB = MF->CreateMachineBasicBlock(LLVM_BB);
30146 MachineBasicBlock *
30148                                        MachineBasicBlock *BB) const {
30151   MachineBasicBlock *TargetMBB = MI.getOperand(0).getMBB();
30164   MachineBasicBlock *RestoreMBB =
30178 MachineBasicBlock *
30180                                        MachineBasicBlock *BB) const {
30194 MachineBasicBlock *
30196                                       MachineBasicBlock *BB) const {
30223 MachineBasicBlock *
30225                                       MachineBasicBlock *BB) const {
30357 MachineBasicBlock *
30359                                         MachineBasicBlock *BB) const {
30423                                                  MachineBasicBlock *MBB) const {
30464 MachineBasicBlock *
30466                                     MachineBasicBlock *MBB) const {
30514   MachineBasicBlock *thisMBB = MBB;
30515   MachineBasicBlock *mainMBB = MF->CreateMachineBasicBlock(BB);
30516   MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(BB);
30517   MachineBasicBlock *restoreMBB = MF->CreateMachineBasicBlock(BB);
30624 MachineBasicBlock *
30626                                              MachineBasicBlock *MBB) const {
30666   MachineBasicBlock *checkSspMBB = MF->CreateMachineBasicBlock(BB);
30667   MachineBasicBlock *fallMBB = MF->CreateMachineBasicBlock(BB);
30668   MachineBasicBlock *fixShadowMBB = MF->CreateMachineBasicBlock(BB);
30669   MachineBasicBlock *fixShadowLoopPrepareMBB = MF->CreateMachineBasicBlock(BB);
30670   MachineBasicBlock *fixShadowLoopMBB = MF->CreateMachineBasicBlock(BB);
30671   MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(BB);
30800 MachineBasicBlock *
30802                                      MachineBasicBlock *MBB) const {
30832   MachineBasicBlock *thisMBB = MBB;
30884                                                MachineBasicBlock *MBB,
30885                                                MachineBasicBlock *DispatchBB,
30933 MachineBasicBlock *
30935                                          MachineBasicBlock *BB) const {
30944   DenseMap<unsigned, SmallVector<MachineBasicBlock *, 2>> CallSiteNumToLPad;
30946   for (auto &MBB : *MF) {
30970   std::vector<MachineBasicBlock *> LPadList;
30971   SmallPtrSet<MachineBasicBlock *, 32> InvokeBBs;
30987   MachineBasicBlock *DispatchBB = MF->CreateMachineBasicBlock();
30990   MachineBasicBlock *TrapBB = MF->CreateMachineBasicBlock();
30994   MachineBasicBlock *DispContBB = MF->CreateMachineBasicBlock();
31103   SmallPtrSet<MachineBasicBlock *, 8> SeenMBBs;
31109   SmallVector<MachineBasicBlock *, 64> MBBLPads;
31111   for (MachineBasicBlock *MBB : InvokeBBs) {
31115     SmallVector<MachineBasicBlock *, 8> Successors(MBB->succ_rbegin(),
31161 MachineBasicBlock *
31163                                                MachineBasicBlock *BB) const {
31390     MachineBasicBlock::reverse_iterator RMBBI(MI.getReverseIterator());
31397     MachineBasicBlock::iterator MBBI(RMBBI);
46164 void X86TargetLowering::initializeSplitCSR(MachineBasicBlock *Entry) const {
46175     MachineBasicBlock *Entry,
46176     const SmallVectorImpl<MachineBasicBlock *> &Exits) const {
46184   MachineBasicBlock::iterator MBBI = Entry->begin();
46206     for (auto *Exit : Exits)
lib/Target/X86/X86ISelLowering.h
  714                               const MachineBasicBlock *MBB, unsigned uid,
  816     MachineBasicBlock *
  818                                 MachineBasicBlock *MBB) const override;
 1388     void initializeSplitCSR(MachineBasicBlock *Entry) const override;
 1390       MachineBasicBlock *Entry,
 1391       const SmallVectorImpl<MachineBasicBlock *> &Exits) const override;
 1421     void SetupEntryBlockForSjLj(MachineInstr &MI, MachineBasicBlock *MBB,
 1422                                 MachineBasicBlock *DispatchBB, int FI) const;
 1425     MachineBasicBlock *
 1427                                   MachineBasicBlock *MBB) const;
 1430     MachineBasicBlock *
 1432                                              MachineBasicBlock *BB) const;
 1434     MachineBasicBlock *EmitLoweredCascadedSelect(MachineInstr &MI1,
 1436                                                  MachineBasicBlock *BB) const;
 1438     MachineBasicBlock *EmitLoweredSelect(MachineInstr &I,
 1439                                          MachineBasicBlock *BB) const;
 1441     MachineBasicBlock *EmitLoweredAtomicFP(MachineInstr &I,
 1442                                            MachineBasicBlock *BB) const;
 1444     MachineBasicBlock *EmitLoweredCatchRet(MachineInstr &MI,
 1445                                            MachineBasicBlock *BB) const;
 1447     MachineBasicBlock *EmitLoweredCatchPad(MachineInstr &MI,
 1448                                            MachineBasicBlock *BB) const;
 1450     MachineBasicBlock *EmitLoweredSegAlloca(MachineInstr &MI,
 1451                                             MachineBasicBlock *BB) const;
 1453     MachineBasicBlock *EmitLoweredTLSAddr(MachineInstr &MI,
 1454                                           MachineBasicBlock *BB) const;
 1456     MachineBasicBlock *EmitLoweredTLSCall(MachineInstr &MI,
 1457                                           MachineBasicBlock *BB) const;
 1459     MachineBasicBlock *EmitLoweredRetpoline(MachineInstr &MI,
 1460                                             MachineBasicBlock *BB) const;
 1462     MachineBasicBlock *emitEHSjLjSetJmp(MachineInstr &MI,
 1463                                         MachineBasicBlock *MBB) const;
 1466                                   MachineBasicBlock *MBB) const;
 1468     MachineBasicBlock *emitEHSjLjLongJmp(MachineInstr &MI,
 1469                                          MachineBasicBlock *MBB) const;
 1471     MachineBasicBlock *emitLongJmpShadowStackFix(MachineInstr &MI,
 1472                                                  MachineBasicBlock *MBB) const;
 1474     MachineBasicBlock *emitFMA3Instr(MachineInstr &MI,
 1475                                      MachineBasicBlock *MBB) const;
 1477     MachineBasicBlock *EmitSjLjDispatchBlock(MachineInstr &MI,
 1478                                              MachineBasicBlock *MBB) const;
lib/Target/X86/X86IndirectBranchTracking.cpp
   60   bool addENDBR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
   60   bool addENDBR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
   72     MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const {
   72     MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const {
  124   for (auto &MBB : MF) {
  130     for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ++I) {
lib/Target/X86/X86InsertPrefetch.cpp
  190   for (auto &MBB : MF) {
lib/Target/X86/X86InstrInfo.cpp
  155     const MachineBasicBlock *MBB = MI.getParent();
  640 void X86InstrInfo::reMaterialize(MachineBasicBlock &MBB,
  641                                  MachineBasicBlock::iterator I,
  790   MachineBasicBlock::iterator MBBI = MI.getIterator();
 2438     MachineBasicBlock &MBB, SmallVectorImpl<MachineOperand> &BranchCond,
 2442   MachineBasicBlock::iterator I = MBB.end();
 2484 static MachineBasicBlock *getFallThroughMBB(MachineBasicBlock *MBB,
 2484 static MachineBasicBlock *getFallThroughMBB(MachineBasicBlock *MBB,
 2485                                             MachineBasicBlock *TBB) {
 2490   MachineBasicBlock *FallthroughBB = nullptr;
 2503     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
 2503     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
 2503     MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
 2509   MachineBasicBlock::iterator I = MBB.end();
 2510   MachineBasicBlock::iterator UnCondBrIter = MBB.end();
 2568       MachineBasicBlock *TargetBB = I->getOperand(0).getMBB();
 2589         MachineBasicBlock::iterator OldInst = I;
 2668 bool X86InstrInfo::analyzeBranch(MachineBasicBlock &MBB,
 2669                                  MachineBasicBlock *&TBB,
 2670                                  MachineBasicBlock *&FBB,
 2677 bool X86InstrInfo::analyzeBranchPredicate(MachineBasicBlock &MBB,
 2715     for (auto *Succ : MBB.successors())
 2746 unsigned X86InstrInfo::removeBranch(MachineBasicBlock &MBB,
 2750   MachineBasicBlock::iterator I = MBB.end();
 2769 unsigned X86InstrInfo::insertBranch(MachineBasicBlock &MBB,
 2770                                     MachineBasicBlock *TBB,
 2771                                     MachineBasicBlock *FBB,
 2829 canInsertSelect(const MachineBasicBlock &MBB,
 2865 void X86InstrInfo::insertSelect(MachineBasicBlock &MBB,
 2866                                 MachineBasicBlock::iterator I,
 2964 void X86InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
 2965                                MachineBasicBlock::iterator MI,
 3244 void X86InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
 3245                                        MachineBasicBlock::iterator MI,
 3261 void X86InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
 3262                                         MachineBasicBlock::iterator MI,
 3610   MachineBasicBlock::iterator I = CmpInstr, Def = MI;
 3627     for (MachineBasicBlock::iterator J = MI;; ++J) {
 3656   MachineBasicBlock::reverse_iterator
 3703   MachineBasicBlock::iterator E = CmpInstr.getParent()->end();
 3786     MachineBasicBlock *MBB = CmpInstr.getParent();
 3787     for (MachineBasicBlock *Successor : MBB->successors())
 3798     MachineBasicBlock::reverse_iterator InsertI = Def.getReverse(),
 3908   MachineBasicBlock &MBB = *MIB->getParent();
 3927   MachineBasicBlock &MBB = *MIB->getParent();
 3931   MachineBasicBlock::iterator I = MIB.getInstr();
 3984   MachineBasicBlock &MBB = *MIB->getParent();
 3994   MachineBasicBlock::iterator I = MIB.getInstr();
 4005   MachineBasicBlock &MBB = *MIB->getParent();
 4660                                      MachineBasicBlock::iterator InsertPt,
 4683   MachineBasicBlock *MBB = InsertPt->getParent();
 4691                               MachineBasicBlock::iterator InsertPt,
 4711   MachineBasicBlock *MBB = InsertPt->getParent();
 4719                                 MachineBasicBlock::iterator InsertPt,
 4729     ArrayRef<MachineOperand> MOs, MachineBasicBlock::iterator InsertPt,
 4824     ArrayRef<MachineOperand> MOs, MachineBasicBlock::iterator InsertPt,
 5002                                     MachineBasicBlock::iterator InsertPt,
 5193     MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI,
 7235                                            const MachineBasicBlock *MBB) const {
 7760       MachineBasicBlock &FirstMBB = MF.front();
 7761       MachineBasicBlock::iterator MBBI = FirstMBB.begin();
 7867       MachineBasicBlock *BB = Node->getBlock();
 7871       for (MachineBasicBlock::iterator I = BB->begin(), E = BB->end(); I != E;
 8045 X86InstrInfo::getOutliningType(MachineBasicBlock::iterator &MIT,  unsigned Flags) const {
 8104 void X86InstrInfo::buildOutlinedFrame(MachineBasicBlock &MBB,
 8118 MachineBasicBlock::iterator
lib/Target/X86/X86InstrInfo.h
  138   bool AnalyzeBranchImpl(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  138   bool AnalyzeBranchImpl(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  139                          MachineBasicBlock *&FBB,
  210   void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  210   void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  285   void replaceBranchWithTailCall(MachineBasicBlock &MBB,
  289   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  289   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
  290                      MachineBasicBlock *&FBB,
  298   bool analyzeBranchPredicate(MachineBasicBlock &MBB,
  302   unsigned removeBranch(MachineBasicBlock &MBB,
  304   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  304   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
  305                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
  308   bool canInsertSelect(const MachineBasicBlock &, ArrayRef<MachineOperand> Cond,
  310   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  310   void insertSelect(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  314   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  314   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
  317   void storeRegToStackSlot(MachineBasicBlock &MBB,
  318                            MachineBasicBlock::iterator MI, unsigned SrcReg,
  323   void loadRegFromStackSlot(MachineBasicBlock &MBB,
  324                             MachineBasicBlock::iterator MI, unsigned DestReg,
  343                         MachineBasicBlock::iterator InsertPt, int FrameIndex,
  352       MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI,
  409   bool isSafeToClobberEFLAGS(MachineBasicBlock &MBB,
  410                              MachineBasicBlock::iterator I) const {
  412            MachineBasicBlock::LQR_Dead;
  445                                       MachineBasicBlock::iterator InsertPt,
  462                                const MachineBasicBlock *MBB) const override;
  508   getOutliningType(MachineBasicBlock::iterator &MIT, unsigned Flags) const override;
  510   void buildOutlinedFrame(MachineBasicBlock &MBB, MachineFunction &MF,
  513   MachineBasicBlock::iterator
  565                                         MachineBasicBlock::iterator InsertPt,
lib/Target/X86/X86InstructionSelector.cpp
  311   MachineBasicBlock &MBB = *I.getParent();
 1408   MachineBasicBlock *DestMBB = I.getOperand(1).getMBB();
lib/Target/X86/X86MCInstLower.cpp
 1591 static MachineBasicBlock::const_iterator
 1593   const MachineBasicBlock *MBB = MBBI->getParent();
 2089     MachineBasicBlock::const_iterator MBBI(MI);
lib/Target/X86/X86OptimizeLEAs.cpp
  281   void findLEAs(const MachineBasicBlock &MBB, MemOpMap &LEAs);
  471 void X86OptimizeLEAPass::findLEAs(const MachineBasicBlock &MBB,
  494   MachineBasicBlock *MBB = (*LEAs.begin()->second.begin())->getParent();
  577   MachineBasicBlock *MBB = MI.getParent();
  686   for (auto &MBB : MF) {
lib/Target/X86/X86PadShortFunction.cpp
   65     void findReturns(MachineBasicBlock *MBB,
   68     bool cyclesUntilReturn(MachineBasicBlock *MBB,
   71     void addPadding(MachineBasicBlock *MBB,
   72                     MachineBasicBlock::iterator &MBBI,
   79     DenseMap<MachineBasicBlock*, unsigned int> ReturnBBs;
   82     DenseMap<MachineBasicBlock*, VisitedBBInfo> VisitedBBs;
  116   for (DenseMap<MachineBasicBlock*, unsigned int>::iterator I = ReturnBBs.begin();
  118     MachineBasicBlock *MBB = I->first;
  126       MachineBasicBlock::iterator ReturnLoc = --MBB->end();
  144 void PadShortFunc::findReturns(MachineBasicBlock *MBB, unsigned int Cycles) {
  156   for (MachineBasicBlock::succ_iterator I = MBB->succ_begin();
  168 bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB,
  171   DenseMap<MachineBasicBlock*, VisitedBBInfo>::iterator it
  201 void PadShortFunc::addPadding(MachineBasicBlock *MBB,
  202                               MachineBasicBlock::iterator &MBBI,
lib/Target/X86/X86RegisterInfo.cpp
  678 static bool tryOptimizeLEAtoMOV(MachineBasicBlock::iterator II) {
  715 X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  719   MachineBasicBlock &MBB = *MI.getParent();
  721   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
lib/Target/X86/X86RegisterInfo.h
  131   void eliminateFrameIndex(MachineBasicBlock::iterator MI,
lib/Target/X86/X86RetpolineThunks.cpp
   75   void insertRegReturnAddrClobber(MachineBasicBlock &MBB, unsigned Reg);
  223   MachineBasicBlock *EntryMBB = MF.CreateMachineBasicBlock(Entry);
  229 void X86RetpolineThunks::insertRegReturnAddrClobber(MachineBasicBlock &MBB,
  244   MachineBasicBlock *Entry = &MF.front();
  249   MachineBasicBlock *CaptureSpec = MF.CreateMachineBasicBlock(Entry->getBasicBlock());
  250   MachineBasicBlock *CallTarget = MF.CreateMachineBasicBlock(Entry->getBasicBlock());
lib/Target/X86/X86SpeculativeLoadHardening.cpp
  140     MachineBasicBlock *MBB;
  182   unsigned saveEFLAGS(MachineBasicBlock &MBB,
  183                       MachineBasicBlock::iterator InsertPt, DebugLoc Loc);
  184   void restoreEFLAGS(MachineBasicBlock &MBB,
  185                      MachineBasicBlock::iterator InsertPt, DebugLoc Loc,
  188   void mergePredStateIntoSP(MachineBasicBlock &MBB,
  189                             MachineBasicBlock::iterator InsertPt, DebugLoc Loc,
  191   unsigned extractPredStateFromSP(MachineBasicBlock &MBB,
  192                                   MachineBasicBlock::iterator InsertPt,
  203   unsigned hardenValueInRegister(unsigned Reg, MachineBasicBlock &MBB,
  204                                  MachineBasicBlock::iterator InsertPt,
  223 static MachineBasicBlock &splitEdge(MachineBasicBlock &MBB,
  223 static MachineBasicBlock &splitEdge(MachineBasicBlock &MBB,
  224                                     MachineBasicBlock &Succ, int SuccCount,
  231   MachineBasicBlock &NewMBB = *MF.CreateMachineBasicBlock();
  248       MachineBasicBlock &OldLayoutSucc =
  328   SmallPtrSet<MachineBasicBlock *, 4> Preds;
  330   for (auto &MBB : MF)
  372   for (MachineBasicBlock &MBB : MF) {
  429   MachineBasicBlock &Entry = *MF.begin();
  517     for (MachineBasicBlock &MBB : MF) {
  569   SmallSetVector<MachineBasicBlock *, 8> Blocks;
  570   for (MachineBasicBlock &MBB : MF) {
  584     for (MachineBasicBlock *SuccMBB : MBB.successors())
  589   for (MachineBasicBlock *MBB : Blocks) {
  603   for (MachineBasicBlock &MBB : MF) {
  699     MachineBasicBlock &MBB = *Info.MBB;
  709     MachineBasicBlock *UncondSucc =
  716     SmallDenseMap<MachineBasicBlock *, int> SuccCounts;
  730           auto &CheckingMBB =
  786       MachineBasicBlock &Succ = *CondBr->getOperand(0).getMBB();
  851   for (MachineBasicBlock &MBB : MF)
  966   SmallPtrSet<MachineBasicBlock *, 4> IndirectTerminatedMBBs;
  971   SmallPtrSet<MachineBasicBlock *, 4> IndirectTargetMBBs;
  975   for (MachineBasicBlock &MBB : MF) {
 1042     for (MachineBasicBlock *Succ : MBB.successors())
 1056   for (MachineBasicBlock &MBB : MF) {
 1077     for (MachineBasicBlock *Pred : MBB.predecessors()) {
 1588 static bool isEFLAGSLive(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
 1588 static bool isEFLAGSLive(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
 1653   for (MachineBasicBlock &MBB : MF) {
 1877     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt,
 1877     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt,
 1895     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt, DebugLoc Loc,
 1895     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt, DebugLoc Loc,
 1906     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt, DebugLoc Loc,
 1906     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt, DebugLoc Loc,
 1926     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt,
 1926     MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt,
 1949   MachineBasicBlock &MBB = *MI.getParent();
 2281     unsigned Reg, MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt,
 2281     unsigned Reg, MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt,
 2331   MachineBasicBlock &MBB = *MI.getParent();
 2382   MachineBasicBlock &MBB = *MI.getParent();
 2429   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/X86/X86VZeroUpper.cpp
   60     void processBasicBlock(MachineBasicBlock &MBB);
   61     void insertVZeroUpper(MachineBasicBlock::iterator I,
   63     void addDirtySuccessor(MachineBasicBlock &MBB);
   90       MachineBasicBlock::iterator FirstUnguardedCall;
   96     using DirtySuccessorsWorkList = SmallVector<MachineBasicBlock *, 8>;
  178 void VZeroUpperInserter::insertVZeroUpper(MachineBasicBlock::iterator I,
  187 void VZeroUpperInserter::addDirtySuccessor(MachineBasicBlock &MBB) {
  196 void VZeroUpperInserter::processBasicBlock(MachineBasicBlock &MBB) {
  270     for (MachineBasicBlock::succ_iterator SI = MBB.succ_begin(),
  316   for (MachineBasicBlock &MBB : MF)
  328     MachineBasicBlock &MBB = *DirtySuccessors.back();
  343       for (MachineBasicBlock *Succ : MBB.successors())
lib/Target/X86/X86WinAllocaExpander.cpp
  137   DenseMap<MachineBasicBlock *, int64_t> OutOffset;
  138   for (MachineBasicBlock &MBB : MF)
  148   for (MachineBasicBlock *MBB : RPO) {
  150     for (MachineBasicBlock *Pred : MBB->predecessors())
  199   MachineBasicBlock *MBB = MI->getParent();
  200   MachineBasicBlock::iterator I = *MI;
lib/Target/XCore/XCoreAsmPrinter.cpp
  192   const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
  195     MachineBasicBlock *MBB = JTBBs[i];
lib/Target/XCore/XCoreFrameLowering.cpp
   60 static void EmitDefCfaRegister(MachineBasicBlock &MBB,
   61                                MachineBasicBlock::iterator MBBI,
   70 static void EmitDefCfaOffset(MachineBasicBlock &MBB,
   71                              MachineBasicBlock::iterator MBBI,
   81 static void EmitCfiOffset(MachineBasicBlock &MBB,
   82                           MachineBasicBlock::iterator MBBI, const DebugLoc &dl,
   98 static void IfNeededExtSP(MachineBasicBlock &MBB,
   99                           MachineBasicBlock::iterator MBBI, const DebugLoc &dl,
  121 static void IfNeededLDAWSP(MachineBasicBlock &MBB,
  122                            MachineBasicBlock::iterator MBBI, const DebugLoc &dl,
  175 static MachineMemOperand *getFrameIndexMMO(MachineBasicBlock &MBB,
  190 static void RestoreSpillList(MachineBasicBlock &MBB,
  191                              MachineBasicBlock::iterator MBBI,
  224                                       MachineBasicBlock &MBB) const {
  226   MachineBasicBlock::iterator MBBI = MBB.begin();
  316       MachineBasicBlock::iterator Pos = SpillLabel.first;
  344                                      MachineBasicBlock &MBB) const {
  346   MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
  416 spillCalleeSavedRegisters(MachineBasicBlock &MBB,
  417                           MachineBasicBlock::iterator MI,
  452 restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
  453                             MachineBasicBlock::iterator MI,
  459   MachineBasicBlock::iterator BeforeI = MI;
  486 MachineBasicBlock::iterator XCoreFrameLowering::eliminateCallFramePseudoInstr(
lib/Target/XCore/XCoreFrameLowering.h
   30                       MachineBasicBlock &MBB) const override;
   32                       MachineBasicBlock &MBB) const override;
   34     bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
   35                                   MachineBasicBlock::iterator MI,
   38     bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
   39                                   MachineBasicBlock::iterator MI,
   43     MachineBasicBlock::iterator
lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp
   53     MachineBasicBlock &MBB = *MFI;
   54     for (MachineBasicBlock::iterator MBBI = MBB.begin(), EE = MBB.end();
lib/Target/XCore/XCoreISelLowering.cpp
 1522 MachineBasicBlock *
 1524                                                  MachineBasicBlock *BB) const {
 1543   MachineBasicBlock *thisMBB = BB;
 1545   MachineBasicBlock *copy0MBB = F->CreateMachineBasicBlock(LLVM_BB);
 1546   MachineBasicBlock *sinkMBB = F->CreateMachineBasicBlock(LLVM_BB);
lib/Target/XCore/XCoreISelLowering.h
  120     MachineBasicBlock *
  122                                 MachineBasicBlock *MBB) const override;
lib/Target/XCore/XCoreInstrInfo.cpp
  189 bool XCoreInstrInfo::analyzeBranch(MachineBasicBlock &MBB,
  190                                    MachineBasicBlock *&TBB,
  191                                    MachineBasicBlock *&FBB,
  195   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  271 unsigned XCoreInstrInfo::insertBranch(MachineBasicBlock &MBB,
  272                                       MachineBasicBlock *TBB,
  273                                       MachineBasicBlock *FBB,
  306 XCoreInstrInfo::removeBranch(MachineBasicBlock &MBB, int *BytesRemoved) const {
  309   MachineBasicBlock::iterator I = MBB.getLastNonDebugInstr();
  331 void XCoreInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
  332                                  MachineBasicBlock::iterator I,
  358 void XCoreInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
  359                                          MachineBasicBlock::iterator I,
  381 void XCoreInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
  382                                           MachineBasicBlock::iterator I,
  426 MachineBasicBlock::iterator XCoreInstrInfo::loadImmediate(
lib/Target/XCore/XCoreInstrInfo.h
   52   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   52   bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
   53                      MachineBasicBlock *&FBB,
   57   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   57   unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
   58                         MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
   62   unsigned removeBranch(MachineBasicBlock &MBB,
   65   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   65   void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
   69   void storeRegToStackSlot(MachineBasicBlock &MBB,
   70                            MachineBasicBlock::iterator MI,
   75   void loadRegFromStackSlot(MachineBasicBlock &MBB,
   76                             MachineBasicBlock::iterator MI,
   86   MachineBasicBlock::iterator loadImmediate(MachineBasicBlock &MBB,
lib/Target/XCore/XCoreMachineFunctionInfo.h
   38   std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>>
   87   std::vector<std::pair<MachineBasicBlock::iterator, CalleeSavedInfo>> &
lib/Target/XCore/XCoreRegisterInfo.cpp
   61 static void InsertFPImmInst(MachineBasicBlock::iterator II,
   65   MachineBasicBlock &MBB = *MI.getParent();
   92 static void InsertFPConstInst(MachineBasicBlock::iterator II,
   98   MachineBasicBlock &MBB = *MI.getParent();
  128 static void InsertSPImmInst(MachineBasicBlock::iterator II,
  132   MachineBasicBlock &MBB = *MI.getParent();
  161 static void InsertSPConstInst(MachineBasicBlock::iterator II,
  166   MachineBasicBlock &MBB = *MI.getParent();
  259 XCoreRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
  319   MachineBasicBlock &MBB = *MI.getParent();
lib/Target/XCore/XCoreRegisterInfo.h
   41   void eliminateFrameIndex(MachineBasicBlock::iterator II,
tools/llvm-exegesis/lib/Assembler.cpp
   89 BasicBlockFiller::BasicBlockFiller(MachineFunction &MF, MachineBasicBlock *MBB,
  141   MachineBasicBlock *MBB = MF.CreateMachineBasicBlock();
tools/llvm-exegesis/lib/Assembler.h
   46   BasicBlockFiller(MachineFunction &MF, MachineBasicBlock *MBB,
   55   MachineBasicBlock *const MBB;
tools/llvm-exegesis/lib/Target.h
   91   virtual void decrementLoopCounterAndJump(MachineBasicBlock &MBB,
   92                                            MachineBasicBlock &TargetMBB,
tools/llvm-exegesis/lib/X86/Target.cpp
  549   void decrementLoopCounterAndJump(MachineBasicBlock &MBB,
  550                                    MachineBasicBlock &TargetMBB,
  652     MachineBasicBlock &MBB, MachineBasicBlock &TargetMBB,
  652     MachineBasicBlock &MBB, MachineBasicBlock &TargetMBB,
unittests/CodeGen/GlobalISel/GISelMITest.h
  129   for (auto &MBB : *MF)
  157   MachineBasicBlock *EntryMBB;
unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
  678   MachineBasicBlock *MidMBB = MF->CreateMachineBasicBlock();
  679   MachineBasicBlock *EndMBB = MF->CreateMachineBasicBlock();
unittests/CodeGen/MachineInstrTest.cpp
   44                     MachineBasicBlock &MBB) const override {}
   46                     MachineBasicBlock &MBB) const override {}
   97   void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
unittests/MI/LiveIntervalTest.cpp
  105   MachineBasicBlock &MBB = *MF.getBlockNumbered(BlockNum);
  125   MachineBasicBlock &MBB = *FromInstr.getParent();
unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
  180   auto *MBB2 = MF->getBlockNumbered(2);
  187   auto *MBB3 = MF->getBlockNumbered(3);
  194   auto *MBB4 = MF->getBlockNumbered(4);
  199   auto *MBB5 = MF->getBlockNumbered(5);
  204   auto *MBB6 = MF->getBlockNumbered(6);
  209   auto *MBB10 = MF->getBlockNumbered(10);
  214   auto *MBB8 = MF->getBlockNumbered(8);
  221   auto *MBB9 = MF->getBlockNumbered(9);
  355   auto *MBB1 = MF->getBlockNumbered(1);
  362   auto *MBB2 = MF->getBlockNumbered(2);
  367   auto *MBB7 = MF->getBlockNumbered(7);
  372   auto *MBB8 = MF->getBlockNumbered(8);
  377   auto *MBB3 = MF->getBlockNumbered(3);
  384   auto *MBB4 = MF->getBlockNumbered(4);
  389   auto *MBB5 = MF->getBlockNumbered(5);
  394   auto *MBB6 = MF->getBlockNumbered(6);
  399   auto *MBB12 = MF->getBlockNumbered(12);
  404   auto *MBB10 = MF->getBlockNumbered(10);
  411   auto *MBB11 = MF->getBlockNumbered(11);
unittests/Target/X86/MachineSizeOptsTest.cpp
  107   MachineBasicBlock &BB0 = F->front();
  109   MachineBasicBlock *BB1 = *iter;
  111   MachineBasicBlock *BB2 = *iter;
  114   MachineBasicBlock *BB3 = *BB1->succ_begin();
unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp
   66   return Field(&MachineBasicBlock::RegisterMaskPair::PhysReg, Eq(Reg));
   82   const auto &LoopBlock = *MF->getBlockNumbered(1);
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/type_traits
 1633     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 2171     { typedef _Iffalse type; };
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {