LLVM
8.0.1
|
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 | printStackObjectReference (int FrameIndex) |
void | print (const MachineInstr &MI, unsigned OpIdx, const TargetRegisterInfo *TRI, bool ShouldPrintRegisterTies, LLT TypeToPrint, bool PrintDef=true) |
This class prints out the machine instructions using the MIR serialization format.
Definition at line 139 of file MIRPrinter.cpp.
|
inline |
Definition at line 151 of file MIRPrinter.cpp.
References llvm::ISD::FrameIndex, MI, print(), and TRI.
void MIPrinter::print | ( | const MachineBasicBlock & | MBB | ) |
Definition at line 559 of file MIRPrinter.cpp.
References assert(), llvm::MachineInstr::BundledSucc, E, llvm::format(), llvm::MachineBasicBlock::getAlignment(), llvm::MachineBasicBlock::getBasicBlock(), llvm::MachineInstr::getFlag(), llvm::MachineBasicBlock::getNumber(), llvm::BranchProbability::getNumerator(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::MachineBasicBlock::hasAddressTaken(), I, llvm::MachineBasicBlock::instr_begin(), llvm::MachineBasicBlock::instr_end(), llvm::MachineBasicBlock::isEHPad(), llvm::MachineInstr::isInsideBundle(), llvm::MachineBasicBlock::livein_empty(), llvm::MachineBasicBlock::liveins(), MI, MRI, print(), llvm::PrintLaneMask(), llvm::printMBBReference(), llvm::printReg(), SimplifyMIR, llvm::MachineBasicBlock::succ_begin(), llvm::MachineBasicBlock::succ_empty(), llvm::MachineBasicBlock::succ_end(), llvm::MachineRegisterInfo::tracksLiveness(), and TRI.
Referenced by llvm::MIRPrinter::print().
void MIPrinter::print | ( | const MachineInstr & | MI | ) |
Definition at line 659 of file MIRPrinter.cpp.
References assert(), Context, E, llvm::MachineInstr::FmAfn, llvm::MachineInstr::FmArcp, llvm::MachineInstr::FmContract, llvm::MachineInstr::FmNoInfs, llvm::MachineInstr::FmNoNans, llvm::MachineInstr::FmNsz, llvm::MachineInstr::FmReassoc, llvm::MachineInstr::FrameDestroy, llvm::MachineInstr::FrameSetup, llvm::Function::getContext(), llvm::MachineInstr::getDebugLoc(), llvm::MachineInstr::getFlag(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineInstr::getMF(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getPostInstrSymbol(), llvm::MachineInstr::getPreInstrSymbol(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineInstr::getTypeToPrint(), llvm::MachineInstr::hasComplexRegisterTies(), I, llvm::MachineInstr::isCFIInstruction(), llvm::MachineOperand::isDef(), llvm::MachineInstr::IsExact, llvm::MachineOperand::isImplicit(), llvm::MachineOperand::isReg(), llvm::MachineInstr::memoperands(), llvm::MachineInstr::memoperands_empty(), MRI, llvm::MachineInstr::NoSWrap, llvm::MachineInstr::NoUWrap, print(), llvm::MachineOperand::printSymbol(), TII, and TRI.
void MIPrinter::print | ( | const MachineInstr & | MI, |
unsigned | OpIdx, | ||
const TargetRegisterInfo * | TRI, | ||
bool | ShouldPrintRegisterTies, | ||
LLT | TypeToPrint, | ||
bool | PrintDef = true |
||
) |
Definition at line 770 of file MIRPrinter.cpp.
References llvm::MachineInstr::findTiedOperandIdx(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::TargetMachine::getIntrinsicInfo(), llvm::MachineInstr::getMF(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getParent(), llvm::MachineOperand::getRegMask(), llvm::TargetRegisterInfo::getRegMaskNames(), llvm::MachineFunction::getTarget(), llvm::MachineOperand::getType(), llvm::MachineOperand::isDef(), 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::MachineOperand::print(), printCustomRegMask(), llvm::MachineOperand::printSubRegIdx(), llvm::MachineOperand::printTargetFlags(), TII, and TRI.
void MIPrinter::printStackObjectReference | ( | int | FrameIndex | ) |
Definition at line 761 of file MIRPrinter.cpp.
References assert(), and llvm::MachineOperand::printStackObjectReference().
Referenced by llvm::MIRPrinter::convertStackObjects().