LLVM
8.0.1
|
Properties which a MachineFunction may have at a given point in time. More...
#include "llvm/CodeGen/MachineFunction.h"
Public Types | |
enum | Property : unsigned { Property::IsSSA, Property::NoPHIs, Property::TracksLiveness, Property::NoVRegs, Property::FailedISel, Property::Legalized, Property::RegBankSelected, Property::Selected, Property::LastProperty = Selected } |
Public Member Functions | |
bool | hasProperty (Property P) const |
MachineFunctionProperties & | set (Property P) |
MachineFunctionProperties & | reset (Property P) |
MachineFunctionProperties & | reset () |
Reset all the properties. More... | |
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. More... | |
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 113 of file MachineFunction.h.
|
strong |
Enumerator | |
---|---|
IsSSA | |
NoPHIs | |
TracksLiveness | |
NoVRegs | |
FailedISel | |
Legalized | |
RegBankSelected | |
Selected | |
LastProperty |
Definition at line 149 of file MachineFunction.h.
Definition at line 161 of file MachineFunction.h.
References P.
Referenced by llvm::Combiner::combineMachineInstrs(), INITIALIZE_PASS(), insertCSRRestores(), llvm::MachineRegisterInfo::isSSA(), matchPair(), llvm::MIRPrinter::print(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::MachineRegisterInfo::tracksLiveness(), and llvm::MachineFunction::verify().
void MachineFunctionProperties::print | ( | raw_ostream & | OS | ) | const |
Print the MachineFunctionProperties in human-readable form.
Definition at line 105 of file MachineFunction.cpp.
References llvm::MachineFunction::DeleteMachineBasicBlock(), llvm::ilist_alloc_traits< NodeTy >::deleteNode(), llvm::MachineBasicBlock::getParent(), I, and llvm::MachineFunctionInfo::~MachineFunctionInfo().
Referenced by llvm::MachineFunction::print().
|
inline |
Definition at line 170 of file MachineFunction.h.
References reset().
Referenced by llvm::Thumb1FrameLowering::emitPrologue(), llvm::MachineRegisterInfo::invalidateLiveness(), isSSA(), llvm::MachineRegisterInfo::leaveSSA(), reset(), and llvm::MachineFunction::~MachineFunction().
|
inline |
|
inline |
Definition at line 186 of file MachineFunction.h.
References reset().
|
inline |
Definition at line 165 of file MachineFunction.h.
Referenced by branchMaxOffsets(), llvm::createFalkorMarkStridedAccessesPass(), llvm::createX86RetpolineThunksPass(), llvm::VirtRegMap::dump(), llvm::InstructionSelect::getRequiredProperties(), llvm::Legalizer::getRequiredProperties(), llvm::BreakFalseDeps::getRequiredProperties(), llvm::Localizer::getRequiredProperties(), llvm::ReachingDefAnalysis::getRequiredProperties(), llvm::ExecutionDomainFix::getRequiredProperties(), llvm::RegBankSelect::getRequiredProperties(), llvm::InstructionSelect::getSetProperties(), llvm::Legalizer::getSetProperties(), llvm::RegBankSelect::getSetProperties(), HasArgumentDef(), llvm::MIRParserImpl::initializeMachineFunction(), isDbgValueDescribedByReg(), isSecondInstructionInSequence(), isSSA(), llvm::MachineFunction::MachineFunction(), performSink(), llvm::reportGISelFailure(), llvm::scavengeFrameVirtualRegs(), set(), and llvm::AntiDepBreaker::~AntiDepBreaker().
|
inline |
Definition at line 181 of file MachineFunction.h.
|
inline |
Definition at line 193 of file MachineFunction.h.
References print(), and llvm::BitVector::test().