LLVM: llvm::InstructionSelector Class Reference (original) (raw)
#include "[llvm/CodeGen/GlobalISel/InstructionSelector.h](InstructionSelector%5F8h%5Fsource.html)"
Inheritance diagram for llvm::InstructionSelector:
| Public Member Functions | |
|---|---|
| ~InstructionSelector () override | |
| virtual bool | select (MachineInstr &I)=0 |
| Select the (possibly generic) instruction I to only use target-specific opcodes. | |
| Public Member Functions inherited from llvm::GIMatchTableExecutor | |
| virtual | ~GIMatchTableExecutor ()=default |
| virtual void | setupGeneratedPerFunctionState (MachineFunction &MF)=0 |
| virtual void | setupMF (MachineFunction &mf, GISelValueTracking *vt, CodeGenCoverage *covinfo=nullptr, ProfileSummaryInfo *psi=nullptr, BlockFrequencyInfo *bfi=nullptr) |
| Setup per-MF executor state. |
| Public Attributes | |
|---|---|
| MachineOptimizationRemarkEmitter * | MORE = nullptr |
| GISelObserverWrapper * | AllObservers = nullptr |
| Note: InstructionSelect does not track changed instructions. | |
| Public Attributes inherited from llvm::GIMatchTableExecutor | |
| CodeGenCoverage * | CoverageInfo = nullptr |
| GISelValueTracking * | VT = nullptr |
| MachineFunction * | MF = nullptr |
| ProfileSummaryInfo * | PSI = nullptr |
| BlockFrequencyInfo * | BFI = nullptr |
| MachineBasicBlock * | CurMBB = nullptr |
Detailed Description
Definition at line 22 of file InstructionSelector.h.
Constructor & Destructor Documentation
| llvm::InstructionSelector::~InstructionSelector ( ) | overridedefault |
|---|
Member Function Documentation
◆ select()
Select the (possibly generic) instruction I to only use target-specific opcodes.
It is OK to insert multiple instructions, but they cannot be generic pre-isel instructions.
Returns
whether selection succeeded.
Precondition
I.getParent() && I.getParent()->getParent()
Postcondition
if returns true: for I in all mutated/inserted instructions: !isPreISelGenericOpcode(I.getOpcode())
Implemented in llvm::AMDGPUInstructionSelector.
References I.
Member Data Documentation
◆ AllObservers
◆ MORE
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/GlobalISel/InstructionSelector.h
- lib/CodeGen/GlobalISel/InstructionSelector.cpp