LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::MachineFunctionProperties Class Reference

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
 
MachineFunctionPropertiesset (Property P)
 
MachineFunctionPropertiesreset (Property P)
 
MachineFunctionPropertiesreset ()
 Reset all the properties.
 
MachineFunctionPropertiesset (const MachineFunctionProperties &MFP)
 
MachineFunctionPropertiesreset (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

◆ print()

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

◆ reset() [1/3]

MachineFunctionProperties & llvm::MachineFunctionProperties::reset ( )
inline

Reset all the properties.

Definition at line 209 of file MachineFunction.h.

◆ reset() [2/3]

MachineFunctionProperties & llvm::MachineFunctionProperties::reset ( const MachineFunctionProperties MFP)
inline

Definition at line 219 of file MachineFunction.h.

◆ reset() [3/3]

MachineFunctionProperties & llvm::MachineFunctionProperties::reset ( Property  P)
inline

◆ set() [1/2]

MachineFunctionProperties & llvm::MachineFunctionProperties::set ( const MachineFunctionProperties MFP)
inline

Definition at line 214 of file MachineFunction.h.

◆ set() [2/2]

MachineFunctionProperties & llvm::MachineFunctionProperties::set ( Property  P)
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().

◆ verifyRequiredProperties()

bool llvm::MachineFunctionProperties::verifyRequiredProperties ( const MachineFunctionProperties V) const
inline

Definition at line 226 of file MachineFunction.h.


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