LLVM 22.0.0git
MachineInstrBuilder.h File Reference

Go to the source code of this file.

Classes

 Set of metadata that should be preserved when using BuildMI(). More...
class  llvm::MachineInstrBuilder
class  llvm::MIBundleBuilder
 Helper class for constructing bundles of MachineInstrs. More...

Namespaces

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

Enumerations

enum  {
  llvm::RegState::Define = 0x2 , llvm::RegState::Implicit = 0x4 , llvm::RegState::Kill = 0x8 , llvm::RegState::Dead = 0x10 ,
  llvm::RegState::Undef = 0x20 , llvm::RegState::EarlyClobber = 0x40 , llvm::RegState::Debug = 0x80 , llvm::RegState::InternalRead = 0x100 ,
  llvm::RegState::Renamable = 0x200 , llvm::RegState::DefineNoRead = Define | Undef , llvm::RegState::ImplicitDefine = Implicit | Define , llvm::RegState::ImplicitKill = Implicit | Kill
}

Functions

MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const MIMetadata &MIMD, const MCInstrDesc &MCID)
 Builder interface. Specify how to create the initial instruction itself.
MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg)
 This version of the builder sets up the first operand as a destination virtual register.
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg)
 This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg)
 This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr &I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg)
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr *I, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg)
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID)
 This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and does NOT take a destination register.
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, const MIMetadata &MIMD, const MCInstrDesc &MCID)
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr &I, const MIMetadata &MIMD, const MCInstrDesc &MCID)
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr *I, const MIMetadata &MIMD, const MCInstrDesc &MCID)
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock *BB, const MIMetadata &MIMD, const MCInstrDesc &MCID)
 This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and does NOT take a destination register.
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock *BB, const MIMetadata &MIMD, const MCInstrDesc &MCID, Register DestReg)
 This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
LLVM_ABI MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, Register Reg, const MDNode *Variable, const MDNode *Expr)
 This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect address.
LLVM_ABI MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, ArrayRef< MachineOperand > MOs, const MDNode *Variable, const MDNode *Expr)
 This version of the builder builds a DBG_VALUE or DBG_VALUE_LIST intrinsic for a MachineOperand.
LLVM_ABI MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, Register Reg, const MDNode *Variable, const MDNode *Expr)
 This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect address and inserts it at position I.
LLVM_ABI MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, ArrayRef< MachineOperand > MOs, const MDNode *Variable, const MDNode *Expr)
 This version of the builder builds a DBG_VALUE, DBG_INSTR_REF, or DBG_VALUE_LIST intrinsic for a machine operand and inserts it at position I.
LLVM_ABI MachineInstrllvm::buildDbgValueForSpill (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MachineInstr &Orig, int FrameIndex, Register SpillReg)
 Clone a DBG_VALUE whose value has been spilled to FrameIndex.
LLVM_ABI MachineInstrllvm::buildDbgValueForSpill (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MachineInstr &Orig, int FrameIndex, const SmallVectorImpl< const MachineOperand * > &SpilledOperands)
LLVM_ABI void llvm::updateDbgValueForSpill (MachineInstr &Orig, int FrameIndex, Register Reg)
 Update a DBG_VALUE whose value has been spilled to FrameIndex.
unsigned llvm::getDefRegState (bool B)
unsigned llvm::getImplRegState (bool B)
unsigned llvm::getKillRegState (bool B)
unsigned llvm::getDeadRegState (bool B)
unsigned llvm::getUndefRegState (bool B)
unsigned llvm::getInternalReadRegState (bool B)
unsigned llvm::getDebugRegState (bool B)
unsigned llvm::getRenamableRegState (bool B)
unsigned llvm::getRegState (const MachineOperand &RegOp)
 Get all register state flags from machine operand RegOp.