LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::MIPrinter Class Reference

This class prints out the machine instructions using the MIR serialization format. More...

Public Member Functions

 MIPrinter (raw_ostream &OS, ModuleSlotTracker &MST, const DenseMap< const uint32_t *, unsigned > &RegisterMaskIds, const DenseMap< int, FrameIndexOperand > &StackObjectOperandMapping)
 
void print (const MachineBasicBlock &MBB)
 
void print (const MachineInstr &MI)
 
void printIRBlockReference (const BasicBlock &BB)
 
void printIRValueReference (const Value &V)
 
void printStackObjectReference (int FrameIndex)
 
void printOffset (int64_t Offset)
 
void printTargetFlags (const MachineOperand &Op)
 
void print (const MachineInstr &MI, unsigned OpIdx, const TargetRegisterInfo *TRI, bool ShouldPrintRegisterTies, LLT TypeToPrint, bool PrintDef=true)
 
void print (const LLVMContext &Context, const TargetInstrInfo &TII, const MachineMemOperand &Op)
 
void printSyncScope (const LLVMContext &Context, SyncScope::ID SSID)
 
void print (const MCCFIInstruction &CFI, const TargetRegisterInfo *TRI)
 

Detailed Description

This class prints out the machine instructions using the MIR serialization format.

Definition at line 139 of file MIRPrinter.cpp.

Constructor & Destructor Documentation

◆ MIPrinter()

llvm::MIPrinter::MIPrinter ( raw_ostream OS,
ModuleSlotTracker MST,
const DenseMap< const uint32_t *, unsigned > &  RegisterMaskIds,
const DenseMap< int, FrameIndexOperand > &  StackObjectOperandMapping 
)
inline

Definition at line 151 of file MIRPrinter.cpp.

References Context, llvm::ISD::FrameIndex, MI, print(), and TII.

Member Function Documentation

◆ print() [1/5]

void MIPrinter::print ( const MachineBasicBlock MBB)

◆ print() [2/5]

void MIPrinter::print ( const MachineInstr MI)

◆ print() [3/5]

void MIPrinter::print ( const MachineInstr MI,
unsigned  OpIdx,
const TargetRegisterInfo TRI,
bool  ShouldPrintRegisterTies,
LLT  TypeToPrint,
bool  PrintDef = true 
)

Definition at line 850 of file MIRPrinter.cpp.

References E, llvm::StringRef::empty(), llvm::MachineInstr::findTiedOperandIdx(), llvm::BlockAddress::getBasicBlock(), llvm::MachineOperand::getBlockAddress(), llvm::MachineOperand::getCFIIndex(), llvm::MachineOperand::getFPImm(), llvm::MachineFunction::getFrameInstructions(), llvm::BlockAddress::getFunction(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getIntrinsicID(), llvm::TargetMachine::getIntrinsicInfo(), llvm::MachineOperand::getMCSymbol(), llvm::MachineOperand::getMetadata(), llvm::MachineInstr::getMF(), llvm::TargetIntrinsicInfo::getName(), llvm::Intrinsic::getName(), llvm::MCRegisterInfo::getNumRegs(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getParent(), llvm::MachineOperand::getPredicate(), llvm::CmpInst::getPredicateName(), llvm::MachineOperand::getRegLiveOut(), llvm::MachineOperand::getRegMask(), llvm::TargetRegisterInfo::getRegMaskNames(), llvm::MachineOperand::getSymbolName(), llvm::MachineFunction::getTarget(), getTargetIndexName(), llvm::MachineOperand::getType(), llvm::MachineOperand::isDef(), llvm::CmpInst::isIntPredicate(), llvm::MachineInstr::isOperandSubregIdx(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isTied(), LLVM_FALLTHROUGH, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_CFIIndex, llvm::MachineOperand::MO_CImmediate, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_FrameIndex, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_IntrinsicID, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_MCSymbol, llvm::MachineOperand::MO_Metadata, llvm::MachineOperand::MO_Predicate, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterLiveOut, llvm::MachineOperand::MO_RegisterMask, llvm::MachineOperand::MO_TargetIndex, llvm::None, llvm::Intrinsic::num_intrinsics, print(), llvm::MachineOperand::print(), llvm::Metadata::printAsOperand(), llvm::Value::printAsOperand(), printCustomRegMask(), llvm::printLLVMNameWithoutPrefix(), llvm::printReg(), llvm::MachineOperand::printSubregIdx(), and TII.

◆ print() [4/5]

void MIPrinter::print ( const LLVMContext Context,
const TargetInstrInfo TII,
const MachineMemOperand Op 
)

◆ print() [5/5]

void MIPrinter::print ( const MCCFIInstruction CFI,
const TargetRegisterInfo TRI 
)

◆ printIRBlockReference()

void MIPrinter::printIRBlockReference ( const BasicBlock BB)

◆ printIRValueReference()

void MIPrinter::printIRValueReference ( const Value V)

◆ printOffset()

void MIPrinter::printOffset ( int64_t  Offset)

Definition at line 771 of file MIRPrinter.cpp.

◆ printStackObjectReference()

void MIPrinter::printStackObjectReference ( int  FrameIndex)

Definition at line 757 of file MIRPrinter.cpp.

References assert().

Referenced by llvm::MIRPrinter::convertStackObjects().

◆ printSyncScope()

void MIPrinter::printSyncScope ( const LLVMContext Context,
SyncScope::ID  SSID 
)

◆ printTargetFlags()

void MIPrinter::printTargetFlags ( const MachineOperand Op)

The documentation for this class was generated from the following file: