LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions
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/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBundleIterator.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/Support/BranchProbability.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::UniqueBBID
 
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::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.
 

Typedefs

using llvm::MachineFunctionAnalysisManager = AnalysisManager< MachineFunction >
 

Functions

raw_ostreamllvm::operator<< (raw_ostream &OS, const MachineBasicBlock &MBB)
 
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.