Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_X86_X86REGISTERBANKINFO_H
14 #define LLVM_LIB_TARGET_X86_X86REGISTERBANKINFO_H
18 #define GET_REGBANK_DECLARATIONS
19 #include "X86GenRegisterBank.inc"
27 #define GET_TARGET_REGBANK_CLASS
28 #include "X86GenRegisterBank.inc"
29 #define GET_TARGET_REGBANK_INFO_CLASS
30 #include "X86GenRegisterBankInfo.def"
This is an optimization pass for GlobalISel generic memory operations.
void applyMappingImpl(const OperandsMapper &OpdMapper) const override
See RegisterBankInfo::applyMapping.
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
const InstructionMapping & getInstrMapping(const MachineInstr &MI) const override
Get the mapping of the different operands of MI on the register bank.
unsigned const TargetRegisterInfo * TRI
static PartialMappingIdx getPartialMappingIdx(const LLT &Ty, bool isFP)
This class implements the register bank concept.
static RegisterBankInfo::PartialMapping PartMappings[]
Helper struct that represents how a value is partially mapped into a register.
X86RegisterBankInfo(const TargetRegisterInfo &TRI)
Helper class used to get/create the virtual registers that will be used to replace the MachineOperand...
Holds all the information related to register banks.
const RegisterBank & getRegBankFromRegClass(const TargetRegisterClass &RC, LLT) const override
Get a register bank that covers RC.
Representation of each machine instruction.
Helper class that represents how the value of an instruction may be mapped and what is the related co...
static const RegisterBankInfo::ValueMapping * getValueMapping(PartialMappingIdx Idx, unsigned NumOperands)
Helper struct that represents how a value is mapped through different register banks.
This class provides the information for the target register banks.
unsigned const MachineRegisterInfo * MRI
InstructionMappings getInstrAlternativeMappings(const MachineInstr &MI) const override
Get the alternative mappings for MI.
static RegisterBankInfo::ValueMapping ValMappings[]
This class consists of common code factored out of the SmallVector class to reduce code duplication b...