LLVM 24.0.0git
llvm::InstructionSelectImpl Class Reference

#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

InstructionSelectorISel = nullptr
GISelValueTrackingVT = nullptr
BlockFrequencyInfoBFI = nullptr
ProfileSummaryInfoPSI = nullptr
CodeGenOptLevel OptLevel = CodeGenOptLevel::None

Detailed Description

Definition at line 69 of file InstructionSelect.h.

Constructor & Destructor Documentation

◆ InstructionSelectImpl()

InstructionSelectImpl::InstructionSelectImpl ( CodeGenOptLevel OL)

Definition at line 82 of file InstructionSelect.cpp.

References OptLevel.

Member Function Documentation

◆ runOnMachineFunction()

◆ selectInstr()

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

◆ setInstructionSelector()

void llvm::InstructionSelectImpl::setInstructionSelector ( InstructionSelector * NewISel)
inline

Definition at line 72 of file InstructionSelect.h.

References ISel.

Member Data Documentation

◆ BFI

BlockFrequencyInfo* llvm::InstructionSelectImpl::BFI = nullptr
protected

Definition at line 84 of file InstructionSelect.h.

Referenced by runOnMachineFunction(), and selectMachineFunction().

◆ ISel

InstructionSelector* llvm::InstructionSelectImpl::ISel = nullptr
protected

◆ OptLevel

CodeGenOptLevel llvm::InstructionSelectImpl::OptLevel = CodeGenOptLevel::None
protected

Definition at line 87 of file InstructionSelect.h.

Referenced by InstructionSelectImpl(), and runOnMachineFunction().

◆ PSI

ProfileSummaryInfo* llvm::InstructionSelectImpl::PSI = nullptr
protected

Definition at line 85 of file InstructionSelect.h.

Referenced by runOnMachineFunction(), and selectMachineFunction().

◆ VT

GISelValueTracking* llvm::InstructionSelectImpl::VT = nullptr
protected

Definition at line 83 of file InstructionSelect.h.

Referenced by runOnMachineFunction(), and selectMachineFunction().


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