LLVM  8.0.1
Classes | Namespaces | Enumerations | Functions
MachineInstrBuilder.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBundle.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstdint>
#include <utility>
Include dependency graph for MachineInstrBuilder.h:

Go to the source code of this file.

Classes

class  llvm::MachineInstrBuilder
 
class  llvm::MIBundleBuilder
 Helper class for constructing bundles of MachineInstrs. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 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 DebugLoc &DL, const MCInstrDesc &MCID)
 Builder interface. Specify how to create the initial instruction itself. More...
 
MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, unsigned DestReg)
 This version of the builder sets up the first operand as a destination virtual register. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, unsigned 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, unsigned 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr &I, const DebugLoc &DL, const MCInstrDesc &MCID, unsigned DestReg)
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr *I, const DebugLoc &DL, const MCInstrDesc &MCID, unsigned DestReg)
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::instr_iterator I, const DebugLoc &DL, const MCInstrDesc &MCID)
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr &I, const DebugLoc &DL, const MCInstrDesc &MCID)
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineInstr *I, const DebugLoc &DL, const MCInstrDesc &MCID)
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock *BB, const DebugLoc &DL, 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock *BB, const DebugLoc &DL, const MCInstrDesc &MCID, unsigned 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, unsigned 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineFunction &MF, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, MachineOperand &MO, const MDNode *Variable, const MDNode *Expr)
 This version of the builder builds a DBG_VALUE intrinsic for a MachineOperand. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, unsigned 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. More...
 
MachineInstrBuilder llvm::BuildMI (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const DebugLoc &DL, const MCInstrDesc &MCID, bool IsIndirect, MachineOperand &MO, const MDNode *Variable, const MDNode *Expr)
 This version of the builder builds a DBG_VALUE intrinsic for a machine operand and inserts it at position I. More...
 
MachineInstrllvm::buildDbgValueForSpill (MachineBasicBlock &BB, MachineBasicBlock::iterator I, const MachineInstr &Orig, int FrameIndex)
 Clone a DBG_VALUE whose value has been spilled to FrameIndex. More...
 
void llvm::updateDbgValueForSpill (MachineInstr &Orig, int FrameIndex)
 Update a DBG_VALUE whose value has been spilled to FrameIndex. More...
 
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. More...