LLVM 20.0.0git
|
Properties which a MachineFunction may have at a given point in time. More...
#include "llvm/CodeGen/MachineFunction.h"
Public Types | |
enum class | Property : unsigned { IsSSA , NoPHIs , TracksLiveness , NoVRegs , FailedISel , Legalized , RegBankSelected , Selected , TiedOpsRewritten , FailsVerification , FailedRegAlloc , TracksDebugUserValues , LastProperty = TracksDebugUserValues } |
Public Member Functions | |
bool | hasProperty (Property P) const |
MachineFunctionProperties & | set (Property P) |
MachineFunctionProperties & | reset (Property P) |
MachineFunctionProperties & | reset () |
Reset all the properties. | |
MachineFunctionProperties & | set (const MachineFunctionProperties &MFP) |
MachineFunctionProperties & | reset (const MachineFunctionProperties &MFP) |
bool | verifyRequiredProperties (const MachineFunctionProperties &V) const |
void | print (raw_ostream &OS) const |
Print the MachineFunctionProperties in human-readable form. | |
Properties which a MachineFunction may have at a given point in time.
Each of these has checking code in the MachineVerifier, and passes can require that a property be set.
Definition at line 128 of file MachineFunction.h.
|
strong |
Enumerator | |
---|---|
IsSSA | |
NoPHIs | |
TracksLiveness | |
NoVRegs | |
FailedISel | |
Legalized | |
RegBankSelected | |
Selected | |
TiedOpsRewritten | |
FailsVerification | |
FailedRegAlloc | |
TracksDebugUserValues | |
LastProperty |
Definition at line 178 of file MachineFunction.h.
Definition at line 194 of file MachineFunction.h.
References P.
Referenced by llvm::VirtRegMap::assignVirt2Phys(), llvm::Combiner::combineMachineInstrs(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::RegAllocBase::getErrorAssignment(), llvm::AArch64RegisterInfo::getReservedRegs(), llvm::MachineRegisterInfo::isSSA(), llvm::MachineBasicBlock::liveout_begin(), llvm::MIRPrinter::print(), llvm::MachineVerifierPass::run(), llvm::SelectionDAGISelPass::run(), runFixI1Copies(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::LoadStoreOpt::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::SelectionDAGISelLegacy::runOnMachineFunction(), and llvm::MachineRegisterInfo::tracksLiveness().
void MachineFunctionProperties::print | ( | raw_ostream & | OS | ) | const |
Print the MachineFunctionProperties in human-readable form.
Definition at line 136 of file MachineFunction.cpp.
References I.
Referenced by llvm::MachineFunction::print().
|
inline |
Reset all the properties.
Definition at line 209 of file MachineFunction.h.
|
inline |
Definition at line 219 of file MachineFunction.h.
|
inline |
Definition at line 203 of file MachineFunction.h.
References P.
Referenced by createFrameHelperMachineFunction(), createPHIsForSelects(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::MachineRegisterInfo::invalidateLiveness(), and llvm::MachineRegisterInfo::leaveSSA().
|
inline |
Definition at line 214 of file MachineFunction.h.
|
inline |
Definition at line 198 of file MachineFunction.h.
References P.
Referenced by createFrameHelperMachineFunction(), llvm::ThunkInserter< Derived, InsertedThunksTy >::createThunkFunction(), llvm::RegAllocFastPass::getClearedProperties(), llvm::EarlyTailDuplicatePass::getClearedProperties(), llvm::SILowerSGPRSpillsPass::getClearedProperties(), llvm::SIOptimizeVGPRLiveRangePass::getClearedProperties(), llvm::Legalizer::getClearedProperties(), llvm::RegBankSelect::getClearedProperties(), llvm::RAGreedy::getClearedProperties(), llvm::RegAllocBase::getErrorAssignment(), llvm::MachineCSEPass::getRequiredProperties(), llvm::PeepholeOptimizerPass::getRequiredProperties(), llvm::RegAllocFastPass::getRequiredProperties(), llvm::GCNDPPCombinePass::getRequiredProperties(), llvm::SILoadStoreOptimizerPass::getRequiredProperties(), llvm::SIOptimizeVGPRLiveRangePass::getRequiredProperties(), llvm::ExecutionDomainFix::getRequiredProperties(), llvm::InstructionSelect::getRequiredProperties(), llvm::Legalizer::getRequiredProperties(), llvm::LoadStoreOpt::getRequiredProperties(), llvm::Localizer::getRequiredProperties(), llvm::RegBankSelect::getRequiredProperties(), llvm::ReachingDefAnalysis::getRequiredProperties(), llvm::BreakFalseDeps::getRequiredProperties(), llvm::RAGreedy::getRequiredProperties(), RemoveLoadsIntoFakeUses::getRequiredProperties(), llvm::LiveDebugVariablesAnalysis::getSetProperties(), llvm::RegAllocFastPass::getSetProperties(), llvm::TwoAddressInstructionPass::getSetProperties(), llvm::InstructionSelect::getSetProperties(), llvm::Legalizer::getSetProperties(), llvm::RegBankSelect::getSetProperties(), llvm::LiveDebugVariablesWrapperLegacy::getSetProperties(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::reportGISelFailure(), llvm::scavengeFrameVirtualRegs(), and llvm::InstructionSelect::selectMachineFunction().
|
inline |
Definition at line 226 of file MachineFunction.h.