|
LLVM 24.0.0git
|
#include "llvm/CodeGen/GlobalISel/InstructionSelect.h"
Classes | |
| class | MIIteratorMaintainer |
| This class observes instruction insertions/removals. More... | |
Public Member Functions | |
| bool | selectMachineFunction (MachineFunction &MF) |
| void | setInstructionSelector (InstructionSelector *NewISel) |
| bool | runOnMachineFunction (MachineFunction &MF, function_ref< GISelValueTracking *()> GetVT, function_ref< ProfileSummaryInfo *()> GetPSI, function_ref< BlockFrequencyInfo *()> GetBFI) |
| InstructionSelectImpl (CodeGenOptLevel OL) | |
Protected Member Functions | |
| bool | selectInstr (MachineInstr &MI) |
Protected Attributes | |
| InstructionSelector * | ISel = nullptr |
| GISelValueTracking * | VT = nullptr |
| BlockFrequencyInfo * | BFI = nullptr |
| ProfileSummaryInfo * | PSI = nullptr |
| CodeGenOptLevel | OptLevel = CodeGenOptLevel::None |
Definition at line 69 of file InstructionSelect.h.
| InstructionSelectImpl::InstructionSelectImpl | ( | CodeGenOptLevel | OL | ) |
Definition at line 82 of file InstructionSelect.cpp.
References OptLevel.
| bool InstructionSelectImpl::runOnMachineFunction | ( | MachineFunction & | MF, |
| function_ref< GISelValueTracking *()> | GetVT, | ||
| function_ref< ProfileSummaryInfo *()> | GetPSI, | ||
| function_ref< BlockFrequencyInfo *()> | GetBFI ) |
Definition at line 150 of file InstructionSelect.cpp.
References BFI, llvm::MachineFunction::getFunction(), llvm::TargetSubtargetInfo::getInstructionSelector(), llvm::TargetMachine::getOptLevel(), llvm::MachineFunction::getProperties(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::Function::hasOptNone(), ISel, llvm::None, OptLevel, PSI, selectMachineFunction(), and VT.
|
protected |
Definition at line 367 of file InstructionSelect.cpp.
References llvm::MachineRegisterInfo::constrainRegClass(), llvm::dbgs(), llvm::MachineRegisterInfo::getRegClassOrNull(), ISel, llvm::isPreISelGenericOptimizationHint(), llvm::isTriviallyDead(), LLVM_DEBUG, MI, llvm::MachineRegisterInfo::replaceRegWith(), llvm::salvageDebugInfo(), and llvm::MachineRegisterInfo::setRegClass().
Referenced by selectMachineFunction().
| bool InstructionSelectImpl::selectMachineFunction | ( | MachineFunction & | MF | ) |
Definition at line 176 of file InstructionSelect.cpp.
References llvm::GISelObserverWrapper::addObserver(), assert(), BFI, llvm::MachineRegisterInfo::clearVirtRegTypes(), llvm::detail::DenseSetImpl< ValueT, MapTy >::contains(), CoveragePrefix, llvm::CodeGenCoverage::covered(), llvm::dbgs(), llvm::MachineRegisterInfo::def_empty(), llvm::MachineRegisterInfo::def_instr_begin(), llvm::DisableGISelLegalityCheck, llvm::CodeGenCoverage::emit(), llvm::TargetLoweringBase::finalizeLowering(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getName(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineFunction::getProperties(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineRegisterInfo::getRegClassOrNull(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::Function::getSubprogram(), llvm::MachineFunction::getSubtarget(), llvm::TargetSubtargetInfo::getTargetLowering(), llvm::MachineRegisterInfo::getType(), llvm::MachineFrameInfo::hasCalls(), llvm::MachineFunction::hasInlineAsm(), I, llvm::Register::index2VirtReg(), llvm::detail::DenseSetImpl< ValueT, MapTy >::insert(), ISel, llvm::details::FixedOrScalableQuantity< TypeSize, uint64_t >::isKnownGT(), llvm::Register::isVirtual(), LLVM_DEBUG, llvm::machineFunctionIsIllegal(), MBB, MI, llvm::InstructionSelectImpl::MIIteratorMaintainer::MII, MORE, llvm::post_order(), PSI, llvm::MachineRegisterInfo::replaceRegWith(), llvm::InstructionSelectImpl::MIIteratorMaintainer::reportFullyCreatedInstrs(), llvm::reportGISelFailure(), selectInstr(), llvm::MachineFrameInfo::setHasCalls(), llvm::MachineFunction::setHasInlineAsm(), llvm::DebugCounter::shouldExecute(), llvm::MachineFunction::size(), TRI, llvm::MachineRegisterInfo::use_empty(), llvm::MachineRegisterInfo::use_instr_begin(), and VT.
Referenced by runOnMachineFunction().
|
inline |
Definition at line 72 of file InstructionSelect.h.
References ISel.
|
protected |
Definition at line 84 of file InstructionSelect.h.
Referenced by runOnMachineFunction(), and selectMachineFunction().
|
protected |
Definition at line 82 of file InstructionSelect.h.
Referenced by runOnMachineFunction(), selectInstr(), selectMachineFunction(), and setInstructionSelector().
|
protected |
Definition at line 87 of file InstructionSelect.h.
Referenced by InstructionSelectImpl(), and runOnMachineFunction().
|
protected |
Definition at line 85 of file InstructionSelect.h.
Referenced by runOnMachineFunction(), and selectMachineFunction().
|
protected |
Definition at line 83 of file InstructionSelect.h.
Referenced by runOnMachineFunction(), and selectMachineFunction().