14 #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUINSTRUCTIONSELECTOR_H 15 #define LLVM_LIB_TARGET_AMDGPU_AMDGPUINSTRUCTIONSELECTOR_H 24 #define GET_GLOBALISEL_PREDICATE_BITSET 25 #define AMDGPUSubtarget GCNSubtarget 26 #include "AMDGPUGenGlobalISel.inc" 27 #undef GET_GLOBALISEL_PREDICATE_BITSET 28 #undef AMDGPUSubtarget 33 class AMDGPUInstrInfo;
34 class AMDGPURegisterBankInfo;
38 class MachineRegisterInfo;
40 class SIMachineFunctionInfo;
98 bool EnableLateStructurizeCFG;
99 #define GET_GLOBALISEL_PREDICATES_DECL 100 #define AMDGPUSubtarget GCNSubtarget 101 #include "AMDGPUGenGlobalISel.inc" 102 #undef GET_GLOBALISEL_PREDICATES_DECL 103 #undef AMDGPUSubtarget 105 #define GET_GLOBALISEL_TEMPORARIES_DECL 106 #include "AMDGPUGenGlobalISel.inc" 107 #undef GET_GLOBALISEL_TEMPORARIES_DECL
This class represents lattice values for constants.
unsigned const TargetRegisterInfo * TRI
static const char * getName()
AMDGPUInstructionSelector(const GCNSubtarget &STI, const AMDGPURegisterBankInfo &RBI, const AMDGPUTargetMachine &TM)
bool select(MachineInstr &I, CodeGenCoverage &CoverageInfo) const override
Select the (possibly generic) instruction I to only use target-specific opcodes.
const HexagonInstrInfo * TII
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
unsigned const MachineRegisterInfo * MRI
MachineOperand class - Representation of each machine instruction operand.
MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc.
Provides the logic to select generic machine instructions.
Representation of each machine instruction.