LLVM  10.0.0svn
Public Member Functions | List of all members
llvm::MIRPrinter Class Reference

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

Public Member Functions

 MIRPrinter (raw_ostream &OS)
 
void print (const MachineFunction &MF)
 
void convert (yaml::MachineFunction &MF, const MachineRegisterInfo &RegInfo, const TargetRegisterInfo *TRI)
 
void convert (ModuleSlotTracker &MST, yaml::MachineFrameInfo &YamlMFI, const MachineFrameInfo &MFI)
 
void convert (yaml::MachineFunction &MF, const MachineConstantPool &ConstantPool)
 
void convert (ModuleSlotTracker &MST, yaml::MachineJumpTable &YamlJTI, const MachineJumpTableInfo &JTI)
 
void convertStackObjects (yaml::MachineFunction &YMF, const MachineFunction &MF, ModuleSlotTracker &MST)
 
void convertCallSiteObjects (yaml::MachineFunction &YMF, const MachineFunction &MF, ModuleSlotTracker &MST)
 

Detailed Description

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

Definition at line 110 of file MIRPrinter.cpp.

Constructor & Destructor Documentation

◆ MIRPrinter()

llvm::MIRPrinter::MIRPrinter ( raw_ostream OS)
inline

Definition at line 118 of file MIRPrinter.cpp.

References print(), and TRI.

Member Function Documentation

◆ convert() [1/4]

void MIRPrinter::convert ( yaml::MachineFunction MF,
const MachineRegisterInfo RegInfo,
const TargetRegisterInfo TRI 
)

◆ convert() [2/4]

void MIRPrinter::convert ( ModuleSlotTracker MST,
yaml::MachineFrameInfo YamlMFI,
const MachineFrameInfo MFI 
)

Definition at line 327 of file MIRPrinter.cpp.

References llvm::yaml::MachineFrameInfo::AdjustsStack, llvm::MachineFrameInfo::adjustsStack(), llvm::yaml::MachineFrameInfo::CVBytesOfCalleeSavedRegisters, llvm::MachineFrameInfo::getCVBytesOfCalleeSavedRegisters(), llvm::MachineFrameInfo::getLocalFrameSize(), llvm::MachineFrameInfo::getMaxAlignment(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::MachineFrameInfo::getOffsetAdjustment(), llvm::MachineFrameInfo::getRestorePoint(), llvm::MachineFrameInfo::getSavePoint(), llvm::MachineFrameInfo::getStackSize(), llvm::yaml::MachineFrameInfo::HasCalls, llvm::MachineFrameInfo::hasCalls(), llvm::yaml::MachineFrameInfo::HasMustTailInVarArgFunc, llvm::MachineFrameInfo::hasMustTailInVarArgFunc(), llvm::yaml::MachineFrameInfo::HasOpaqueSPAdjustment, llvm::MachineFrameInfo::hasOpaqueSPAdjustment(), llvm::MachineFrameInfo::hasPatchPoint(), llvm::yaml::MachineFrameInfo::HasPatchPoint, llvm::MachineFrameInfo::hasStackMap(), llvm::yaml::MachineFrameInfo::HasStackMap, llvm::yaml::MachineFrameInfo::HasVAStart, llvm::MachineFrameInfo::hasVAStart(), llvm::MachineFrameInfo::isFrameAddressTaken(), llvm::yaml::MachineFrameInfo::IsFrameAddressTaken, llvm::MachineFrameInfo::isMaxCallFrameSizeComputed(), llvm::MachineFrameInfo::isReturnAddressTaken(), llvm::yaml::MachineFrameInfo::IsReturnAddressTaken, llvm::yaml::MachineFrameInfo::LocalFrameSize, llvm::yaml::MachineFrameInfo::MaxAlignment, llvm::yaml::MachineFrameInfo::MaxCallFrameSize, llvm::yaml::MachineFrameInfo::OffsetAdjustment, llvm::printMBBReference(), llvm::yaml::MachineFrameInfo::RestorePoint, llvm::yaml::MachineFrameInfo::SavePoint, llvm::yaml::MachineFrameInfo::StackSize, and llvm::yaml::StringValue::Value.

◆ convert() [3/4]

void MIRPrinter::convert ( yaml::MachineFunction MF,
const MachineConstantPool ConstantPool 
)

◆ convert() [4/4]

void MIRPrinter::convert ( ModuleSlotTracker MST,
yaml::MachineJumpTable YamlJTI,
const MachineJumpTableInfo JTI 
)

◆ convertCallSiteObjects()

void MIRPrinter::convertCallSiteObjects ( yaml::MachineFunction YMF,
const MachineFunction MF,
ModuleSlotTracker MST 
)

◆ convertStackObjects()

void MIRPrinter::convertStackObjects ( yaml::MachineFunction YMF,
const MachineFunction MF,
ModuleSlotTracker MST 
)

Definition at line 357 of file MIRPrinter.cpp.

References llvm::yaml::MachineStackObject::Alignment, llvm::yaml::FixedMachineStackObject::Alignment, assert(), llvm::yaml::MachineStackObject::DefaultType, llvm::yaml::FixedMachineStackObject::DefaultType, E, llvm::yaml::MachineFunction::FixedStackObjects, llvm::yaml::MachineFunction::FrameInfo, llvm::MachineFrameInfo::getCalleeSavedInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getLocalFrameObjectCount(), llvm::MachineFrameInfo::getLocalFrameObjectMap(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectAllocation(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getObjectSize(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFrameInfo::getStackID(), llvm::MachineFrameInfo::getStackProtectorIndex(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getVariableDbgInfo(), llvm::MachineFrameInfo::hasStackProtectorIndex(), I, llvm::yaml::MachineStackObject::ID, llvm::yaml::FixedMachineStackObject::ID, llvm::yaml::FixedMachineStackObject::IsAliased, llvm::MachineFrameInfo::isAliasedObjectIndex(), llvm::MachineFrameInfo::isDeadObjectIndex(), llvm::yaml::FixedMachineStackObject::IsImmutable, llvm::MachineFrameInfo::isImmutableObjectIndex(), llvm::MachineFrameInfo::isSpillSlotObjectIndex(), llvm::MachineFrameInfo::isVariableSizedObjectIndex(), llvm::yaml::MachineStackObject::Name, llvm::yaml::MachineStackObject::Offset, llvm::yaml::FixedMachineStackObject::Offset, printRegMIR(), printStackObjectDbgInfo(), llvm::MIPrinter::printStackObjectReference(), Reg, llvm::yaml::MachineStackObject::Size, llvm::yaml::FixedMachineStackObject::Size, llvm::yaml::MachineStackObject::SpillSlot, llvm::yaml::FixedMachineStackObject::SpillSlot, llvm::yaml::MachineStackObject::StackID, llvm::yaml::FixedMachineStackObject::StackID, llvm::yaml::MachineFunction::StackObjects, llvm::yaml::MachineFrameInfo::StackProtector, TRI, llvm::yaml::MachineStackObject::Type, llvm::yaml::FixedMachineStackObject::Type, llvm::yaml::StringValue::Value, and llvm::yaml::MachineStackObject::VariableSized.

◆ print()

void MIRPrinter::print ( const MachineFunction MF)

Definition at line 195 of file MIRPrinter.cpp.

References llvm::yaml::MachineFunction::Alignment, llvm::yaml::MachineFunction::Body, llvm::TargetMachine::convertFuncInfoToYAML(), llvm::MachineFunction::exposesReturnsTwice(), llvm::yaml::MachineFunction::ExposesReturnsTwice, llvm::MachineFunctionProperties::FailedISel, llvm::yaml::MachineFunction::FailedISel, llvm::yaml::MachineFunction::FrameInfo, llvm::MachineFunction::getAlignment(), llvm::MachineFunction::getConstantPool(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineFunction::getName(), llvm::GlobalValue::getParent(), llvm::MachineFunction::getProperties(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::MachineFunctionProperties::hasProperty(), llvm::MachineFunction::hasWinCFI(), llvm::yaml::MachineFunction::HasWinCFI, llvm::ModuleSlotTracker::incorporateFunction(), llvm::yaml::MachineFunction::JumpTableInfo, llvm::MachineFunctionProperties::Legalized, llvm::yaml::MachineFunction::Legalized, llvm::yaml::MachineFunction::MachineFuncInfo, llvm::yaml::MachineFunction::Name, llvm::MIPrinter::print(), llvm::MachineFunctionProperties::RegBankSelected, llvm::yaml::MachineFunction::RegBankSelected, llvm::MachineFunctionProperties::Selected, llvm::yaml::MachineFunction::Selected, SimplifyMIR, llvm::SystemZISD::TM, llvm::yaml::StringValue::Value, and llvm::yaml::BlockStringValue::Value.

Referenced by llvm::printMIR().


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