LLVM: llvm::MachineFunctionProperties Class Reference (original) (raw)

Properties which a MachineFunction may have at a given point in time. More...

#include "[llvm/CodeGen/MachineFunction.h](MachineFunction%5F8h%5Fsource.html)"

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.

Detailed Description

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.

Member Enumeration Documentation

Property

Enumerator
IsSSA
NoPHIs
TracksLiveness
NoVRegs
FailedISel
Legalized
RegBankSelected
Selected
TiedOpsRewritten
FailsVerification
FailedRegAlloc
TracksDebugUserValues
LastProperty

Definition at line 178 of file MachineFunction.h.

Member Function Documentation

hasProperty()

bool llvm::MachineFunctionProperties::hasProperty ( Property P) const inline

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().

print()

void MachineFunctionProperties::print ( raw_ostream & OS ) const

reset() [1/3]

reset() [2/3]

reset() [3/3]

set() [1/2]

set() [2/2]

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().

verifyRequiredProperties()


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