LLVM 22.0.0git
MachineBasicBlock.h File Reference
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/SparseBitVector.h"
#include "llvm/ADT/ilist.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBundleIterator.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/UniqueBBID.h"
#include <cassert>
#include <cstdint>
#include <iterator>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  llvm::MBBSectionID
struct  llvm::DenseMapInfo< MBBSectionID >
struct  llvm::ilist_traits< MachineInstr >
class  llvm::MachineBasicBlock
struct  llvm::MachineBasicBlock::RegisterMaskPair
 Pair of physical register and lane mask. More...
class  llvm::MachineBasicBlock::liveout_iterator
struct  llvm::MachineBasicBlock::SplitCriticalEdgeAnalyses
 Split the critical edge from this block to the given successor block, and return the newly created block, or null if splitting is not possible. More...
struct  llvm::MBB2NumberFunctor
struct  llvm::GraphTraits< MachineBasicBlock * >
struct  llvm::GraphTraits< const MachineBasicBlock * >
struct  llvm::GraphTraits< Inverse< MachineBasicBlock * > >
struct  llvm::GraphTraits< Inverse< const MachineBasicBlock * > >
class  llvm::MachineInstrSpan
 MachineInstrSpan provides an interface to get an iteration range containing the instruction it was initialized with, along with all those instructions inserted prior to or following that instruction at some point after the MachineInstrSpan is constructed. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

LLVM_ABI raw_ostreamllvm::operator<< (raw_ostream &OS, const MachineBasicBlock &MBB)
LLVM_ABI Printable llvm::printMBBReference (const MachineBasicBlock &MBB)
 Prints a machine basic block reference.
auto llvm::successors (const MachineBasicBlock *BB)
auto llvm::predecessors (const MachineBasicBlock *BB)
auto llvm::succ_size (const MachineBasicBlock *BB)
auto llvm::pred_size (const MachineBasicBlock *BB)
auto llvm::succ_begin (const MachineBasicBlock *BB)
auto llvm::pred_begin (const MachineBasicBlock *BB)
auto llvm::succ_end (const MachineBasicBlock *BB)
auto llvm::pred_end (const MachineBasicBlock *BB)
template<typename IterT>
IterT llvm::skipDebugInstructionsForward (IterT It, IterT End, bool SkipPseudoOp=true)
 Increment It until it points to a non-debug instruction or to End and return the resulting iterator.
template<class IterT>
IterT llvm::skipDebugInstructionsBackward (IterT It, IterT Begin, bool SkipPseudoOp=true)
 Decrement It until it points to a non-debug instruction or to Begin and return the resulting iterator.
template<typename IterT>
IterT llvm::next_nodbg (IterT It, IterT End, bool SkipPseudoOp=true)
 Increment It, then continue incrementing it while it points to a debug instruction.
template<typename IterT>
IterT llvm::prev_nodbg (IterT It, IterT Begin, bool SkipPseudoOp=true)
 Decrement It, then continue decrementing it while it points to a debug instruction.
template<typename IterT>
auto llvm::instructionsWithoutDebug (IterT It, IterT End, bool SkipPseudoOp=true)
 Construct a range iterator which begins at It and moves forwards until End is reached, skipping any debug instructions.