LLVM 22.0.0git
MachineInstrBundle.h File Reference

Go to the source code of this file.

Classes

class  llvm::MIBundleOperandIteratorBase< ValueT >
 MIBundleOperandIteratorBase - Iterator that visits all operands in a bundle of MachineInstrs. More...
class  llvm::MIBundleOperands
 MIBundleOperands - Iterate over all operands in a bundle of machine instructions. More...
class  llvm::ConstMIBundleOperands
 ConstMIBundleOperands - Iterate over all operands in a const bundle of machine instructions. More...
struct  llvm::VirtRegInfo
 VirtRegInfo - Information about a virtual register used by a set of operands. More...
struct  llvm::PhysRegInfo
 Information about how a physical register Reg is used by a set of operands. More...
class  llvm::FinalizeBundleTestPass

Namespaces

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

Functions

LLVM_ABI void llvm::finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI, MachineBasicBlock::instr_iterator LastMI)
 finalizeBundle - Finalize a machine instruction bundle which includes a sequence of instructions starting from FirstMI to LastMI (exclusive).
LLVM_ABI MachineBasicBlock::instr_iterator llvm::finalizeBundle (MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator FirstMI)
 finalizeBundle - Same functionality as the previous finalizeBundle except the last instruction in the bundle is not provided as an input.
LLVM_ABI bool llvm::finalizeBundles (MachineFunction &MF)
 finalizeBundles - Finalize instruction bundles in the specified MachineFunction.
MachineBasicBlock::instr_iterator llvm::getBundleStart (MachineBasicBlock::instr_iterator I)
 Returns an iterator to the first instruction in the bundle containing I.
MachineBasicBlock::const_instr_iterator llvm::getBundleStart (MachineBasicBlock::const_instr_iterator I)
 Returns an iterator to the first instruction in the bundle containing I.
MachineBasicBlock::instr_iterator llvm::getBundleEnd (MachineBasicBlock::instr_iterator I)
 Returns an iterator pointing beyond the bundle containing I.
MachineBasicBlock::const_instr_iterator llvm::getBundleEnd (MachineBasicBlock::const_instr_iterator I)
 Returns an iterator pointing beyond the bundle containing I.
iterator_range< ConstMIBundleOperandsllvm::const_mi_bundle_ops (const MachineInstr &MI)
iterator_range< MIBundleOperandsllvm::mi_bundle_ops (MachineInstr &MI)
LLVM_ABI VirtRegInfo llvm::AnalyzeVirtRegInBundle (MachineInstr &MI, Register Reg, SmallVectorImpl< std::pair< MachineInstr *, unsigned > > *Ops=nullptr)
 AnalyzeVirtRegInBundle - Analyze how the current instruction or bundle uses a virtual register.
LLVM_ABI std::pair< LaneBitmask, LaneBitmaskllvm::AnalyzeVirtRegLanesInBundle (const MachineInstr &MI, Register Reg, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI)
 Return a pair of lane masks (reads, writes) indicating which lanes this instruction uses with Reg.
LLVM_ABI PhysRegInfo llvm::AnalyzePhysRegInBundle (const MachineInstr &MI, Register Reg, const TargetRegisterInfo *TRI)
 AnalyzePhysRegInBundle - Analyze how the current instruction or bundle uses a physical register.