LLVM 19.0.0git
Classes | Namespaces | Functions
MachineInstrBundle.h File Reference
#include "llvm/CodeGen/MachineBasicBlock.h"

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...
 

Namespaces

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

Functions

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).
 
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.
 
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< ConstMIBundleOperands > llvm::const_mi_bundle_ops (const MachineInstr &MI)
 
iterator_range< MIBundleOperands > llvm::mi_bundle_ops (MachineInstr &MI)
 
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.
 
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.
 
PhysRegInfo llvm::AnalyzePhysRegInBundle (const MachineInstr &MI, Register Reg, const TargetRegisterInfo *TRI)
 AnalyzePhysRegInBundle - Analyze how the current instruction or bundle uses a physical register.