LLVM
8.0.1
|
#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>
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... | |
MachineInstr * | llvm::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... | |