LLVM 20.0.0git
|
This class prints out the machine functions using the MIR serialization format. More...
This class prints out the machine functions using the MIR serialization format.
Definition at line 102 of file MIRPrinter.cpp.
|
inline |
Definition at line 111 of file MIRPrinter.cpp.
References OS.
void MIRPrinter::convert | ( | ModuleSlotTracker & | MST, |
yaml::MachineFrameInfo & | YamlMFI, | ||
const MachineFrameInfo & | MFI | ||
) |
Definition at line 378 of file MIRPrinter.cpp.
References llvm::MachineFrameInfo::adjustsStack(), llvm::yaml::MachineFrameInfo::AdjustsStack, llvm::yaml::MachineFrameInfo::CVBytesOfCalleeSavedRegisters, llvm::MachineFrameInfo::getCVBytesOfCalleeSavedRegisters(), llvm::MachineFrameInfo::getLocalFrameSize(), llvm::MachineFrameInfo::getMaxAlign(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::MachineFrameInfo::getOffsetAdjustment(), llvm::MachineFrameInfo::getRestorePoint(), llvm::MachineFrameInfo::getSavePoint(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFrameInfo::hasCalls(), llvm::yaml::MachineFrameInfo::HasCalls, llvm::MachineFrameInfo::hasMustTailInVarArgFunc(), llvm::yaml::MachineFrameInfo::HasMustTailInVarArgFunc, llvm::MachineFrameInfo::hasOpaqueSPAdjustment(), llvm::yaml::MachineFrameInfo::HasOpaqueSPAdjustment, llvm::MachineFrameInfo::hasPatchPoint(), llvm::yaml::MachineFrameInfo::HasPatchPoint, llvm::MachineFrameInfo::hasStackMap(), llvm::yaml::MachineFrameInfo::HasStackMap, llvm::MachineFrameInfo::hasTailCall(), llvm::yaml::MachineFrameInfo::HasTailCall, llvm::MachineFrameInfo::hasVAStart(), llvm::yaml::MachineFrameInfo::HasVAStart, llvm::MachineFrameInfo::isCalleeSavedInfoValid(), llvm::yaml::MachineFrameInfo::IsCalleeSavedInfoValid, 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, llvm::yaml::StringValue::Value, and llvm::Align::value().
void MIRPrinter::convert | ( | ModuleSlotTracker & | MST, |
yaml::MachineJumpTable & | YamlJTI, | ||
const MachineJumpTableInfo & | JTI | ||
) |
Definition at line 649 of file MIRPrinter.cpp.
References llvm::yaml::MachineJumpTable::Entries, llvm::MachineJumpTableInfo::getEntryKind(), llvm::MachineJumpTableInfo::getJumpTables(), llvm::yaml::MachineJumpTable::Kind, MBB, and llvm::printMBBReference().
void MIRPrinter::convert | ( | yaml::MachineFunction & | MF, |
const MachineConstantPool & | ConstantPool | ||
) |
Definition at line 627 of file MIRPrinter.cpp.
References llvm::yaml::MachineConstantPoolValue::Alignment, llvm::yaml::MachineFunction::Constants, llvm::yaml::MachineConstantPoolValue::ID, llvm::yaml::MachineConstantPoolValue::IsTargetSpecific, llvm::Value::print(), llvm::Value::printAsOperand(), and llvm::yaml::MachineConstantPoolValue::Value.
void MIRPrinter::convert | ( | yaml::MachineFunction & | YamlMF, |
const MachineFunction & | MF, | ||
const MachineRegisterInfo & | RegInfo, | ||
const TargetRegisterInfo * | TRI | ||
) |
Definition at line 335 of file MIRPrinter.cpp.
References llvm::yaml::MachineFunction::CalleeSavedRegisters, llvm::yaml::VirtualRegisterDefinition::Class, llvm::MachineRegisterInfo::getCalleeSavedRegs(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineRegisterInfo::getSimpleHint(), llvm::MachineRegisterInfo::getVRegName(), I, llvm::yaml::VirtualRegisterDefinition::ID, llvm::Register::index2VirtReg(), llvm::MachineRegisterInfo::isUpdatedCSRsInitialized(), llvm::MachineRegisterInfo::liveins(), llvm::yaml::MachineFunction::LiveIns, llvm::yaml::VirtualRegisterDefinition::PreferredRegister, llvm::printRegClassOrBank(), printRegFlags(), printRegMIR(), llvm::yaml::MachineFunctionLiveIn::Register, llvm::yaml::VirtualRegisterDefinition::RegisterFlags, llvm::MachineRegisterInfo::tracksLiveness(), llvm::yaml::MachineFunction::TracksRegLiveness, TRI, llvm::yaml::MachineFunctionLiveIn::VirtualRegister, and llvm::yaml::MachineFunction::VirtualRegisters.
void MIRPrinter::convertCalledGlobals | ( | yaml::MachineFunction & | YMF, |
const MachineFunction & | MF, | ||
MachineModuleSlotTracker & | MST | ||
) |
Definition at line 604 of file MIRPrinter.cpp.
References A, B, llvm::yaml::MachineFunction::CalledGlobals, llvm::MachineFunction::getCalledGlobals(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), and llvm::sort().
Referenced by print().
void MIRPrinter::convertCallSiteObjects | ( | yaml::MachineFunction & | YMF, |
const MachineFunction & | MF, | ||
ModuleSlotTracker & | MST | ||
) |
Definition at line 557 of file MIRPrinter.cpp.
References A, llvm::yaml::CallSiteInfo::ArgForwardingRegs, llvm::yaml::CallSiteInfo::ArgRegPair::ArgNo, B, llvm::yaml::MachineInstrLoc::BlockNum, llvm::yaml::CallSiteInfo::CallLocation, llvm::yaml::MachineFunction::CallSitesInfo, llvm::MachineFunction::getCallSitesInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::yaml::MachineInstrLoc::Offset, printRegMIR(), llvm::yaml::CallSiteInfo::ArgRegPair::Reg, llvm::sort(), and TRI.
Referenced by print().
void MIRPrinter::convertEntryValueObjects | ( | yaml::MachineFunction & | YMF, |
const MachineFunction & | MF, | ||
ModuleSlotTracker & | MST | ||
) |
Definition at line 410 of file MIRPrinter.cpp.
References llvm::yaml::MachineFunction::EntryValueObjects, llvm::yaml::EntryValueObject::EntryValueRegister, llvm::MachineFunction::getEntryValueVariableDbgInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), printRegMIR(), printStackObjectDbgInfo(), and TRI.
Referenced by print().
void MIRPrinter::convertMachineMetadataNodes | ( | yaml::MachineFunction & | YMF, |
const MachineFunction & | MF, | ||
MachineModuleSlotTracker & | MST | ||
) |
Definition at line 591 of file MIRPrinter.cpp.
References llvm::MachineModuleSlotTracker::collectMachineMDNodes(), llvm::MachineFunction::getFunction(), llvm::GlobalValue::getParent(), and llvm::yaml::MachineFunction::MachineMetadataNodes.
Referenced by print().
void MIRPrinter::convertStackObjects | ( | yaml::MachineFunction & | YMF, |
const MachineFunction & | MF, | ||
ModuleSlotTracker & | MST | ||
) |
Definition at line 423 of file MIRPrinter.cpp.
References llvm::yaml::MachineStackObject::Alignment, llvm::yaml::FixedMachineStackObject::Alignment, assert(), llvm::yaml::MachineStackObject::DefaultType, llvm::yaml::FixedMachineStackObject::DefaultType, llvm::yaml::MachineFunction::FixedStackObjects, llvm::yaml::MachineFunction::FrameInfo, llvm::yaml::MachineFrameInfo::FunctionContext, llvm::MachineFrameInfo::getCalleeSavedInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getFunctionContextIndex(), llvm::MachineFunction::getInStackSlotVariableDbgInfo(), llvm::MachineFrameInfo::getLocalFrameObjectCount(), llvm::MachineFrameInfo::getLocalFrameObjectMap(), llvm::MachineFrameInfo::getNumFixedObjects(), llvm::MachineFrameInfo::getObjectAlign(), 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::MachineFrameInfo::hasFunctionContextIndex(), llvm::MachineFrameInfo::hasStackProtectorIndex(), I, llvm::yaml::MachineStackObject::ID, llvm::yaml::FixedMachineStackObject::ID, Idx, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), 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(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), 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.
Referenced by print().
void MIRPrinter::print | ( | const MachineFunction & | MF | ) |
Definition at line 200 of file MIRPrinter.cpp.
References llvm::yaml::MachineFunction::Alignment, llvm::yaml::MachineFunction::Body, llvm::MachineFunction::callsEHReturn(), llvm::yaml::MachineFunction::CallsEHReturn, llvm::MachineFunction::callsUnwindInit(), llvm::yaml::MachineFunction::CallsUnwindInit, convert, convertCalledGlobals(), convertCallSiteObjects(), convertEntryValueObjects(), convertMachineMetadataNodes(), convertStackObjects(), llvm::MachineFunction::DebugValueSubstitutions, llvm::yaml::MachineFunction::DebugValueSubstitutions, llvm::MachineFunction::exposesReturnsTwice(), llvm::yaml::MachineFunction::ExposesReturnsTwice, llvm::MachineFunctionProperties::FailedISel, llvm::yaml::MachineFunction::FailedISel, llvm::MachineFunctionProperties::FailsVerification, llvm::yaml::MachineFunction::FailsVerification, llvm::yaml::MachineFunction::FrameInfo, llvm::MachineFunction::getAlignment(), llvm::MachineFunction::getConstantPool(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getJumpTableInfo(), llvm::MachineFunction::getName(), llvm::MachineFunction::getProperties(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::MachineFunction::hasEHCatchret(), llvm::yaml::MachineFunction::HasEHCatchret, llvm::MachineFunction::hasEHFunclets(), llvm::yaml::MachineFunction::HasEHFunclets, llvm::MachineFunction::hasEHScopes(), llvm::yaml::MachineFunction::HasEHScopes, llvm::MachineFunction::hasFakeUses(), llvm::yaml::MachineFunction::HasFakeUses, llvm::MachineFunctionProperties::hasProperty(), llvm::MachineFunction::hasWinCFI(), llvm::yaml::MachineFunction::HasWinCFI, llvm::ModuleSlotTracker::incorporateFunction(), llvm::MachineFunction::isOutlined(), llvm::yaml::MachineFunction::IsOutlined, llvm::MachineFunctionProperties::IsSSA, llvm::yaml::MachineFunction::IsSSA, llvm::yaml::MachineFunction::JumpTableInfo, llvm::MachineFunctionProperties::Legalized, llvm::yaml::MachineFunction::Legalized, llvm::yaml::MachineFunction::MachineFuncInfo, MBB, llvm::yaml::MachineFunction::Name, llvm::MachineFunctionProperties::NoPHIs, llvm::yaml::MachineFunction::NoPHIs, llvm::MachineFunctionProperties::NoVRegs, llvm::yaml::MachineFunction::NoVRegs, llvm::MIPrinter::print(), llvm::MachineFunctionProperties::RegBankSelected, llvm::yaml::MachineFunction::RegBankSelected, llvm::MachineFunctionProperties::Selected, llvm::yaml::MachineFunction::Selected, SimplifyMIR, llvm::MachineFunctionProperties::TracksDebugUserValues, llvm::yaml::MachineFunction::TracksDebugUserValues, llvm::MachineFunction::useDebugInstrRef(), llvm::yaml::MachineFunction::UseDebugInstrRef, llvm::yaml::StringValue::Value, and llvm::yaml::BlockStringValue::Value.