18 #define GET_TARGET_REGBANK_IMPL 20 #define DEBUG_TYPE "registerbankinfo" 22 #include "MipsGenRegisterBank.inc" 58 case Mips::GPR32RegClassID:
59 case Mips::CPU16Regs_and_GPRMM16ZeroRegClassID:
60 case Mips::GPRMM16MovePPairFirstRegClassID:
61 case Mips::CPU16Regs_and_GPRMM16MovePPairSecondRegClassID:
62 case Mips::GPRMM16MoveP_and_CPU16Regs_and_GPRMM16ZeroRegClassID:
63 case Mips::GPRMM16MovePPairFirst_and_GPRMM16MovePPairSecondRegClassID:
64 case Mips::SP32RegClassID:
80 using namespace TargetOpcode;
const ValueMapping * getOperandsMapping(Iterator Begin, Iterator End) const
Get the uniquely generated array of ValueMapping for the elements of between Begin and End...
This class represents lattice values for constants.
const InstructionMapping & getInstructionMapping(unsigned ID, unsigned Cost, const ValueMapping *OperandsMapping, unsigned NumOperands) const
Method to get a uniquely generated InstructionMapping.
RegisterBankInfo::ValueMapping ValueMappings[]
Helper class that represents how the value of an instruction may be mapped and what is the related co...
unsigned const TargetRegisterInfo * TRI
unsigned getNumOperands() const
Retuns the total number of operands.
unsigned getOpcode() const
Returns the opcode of this MachineInstr.
const InstructionMapping & getInstrMapping(const MachineInstr &MI) const override
Get the mapping of the different operands of MI on the register bank.
unsigned getID() const
Return the register class ID number.
This file declares the targeting of the RegisterBankInfo class for Mips.
const InstructionMapping & getInvalidInstructionMapping() const
Method to get a uniquely generated invalid InstructionMapping.
Helper struct that represents how a value is partially mapped into a register.
RegisterBankInfo::PartialMapping PartMappings[]
static const unsigned DefaultMappingID
Identifier used when the related instruction mapping instance is generated by target independent code...
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
bool isValid() const
Check whether this object is valid.
RegisterBank & getRegBank(unsigned ID)
Get the register bank identified by ID.
This class implements the register bank concept.
Helper struct that represents how a value is mapped through different register banks.
Representation of each machine instruction.
const InstructionMapping & getInstrMappingImpl(const MachineInstr &MI) const
Try to get the mapping of MI.
MipsRegisterBankInfo(const TargetRegisterInfo &TRI)
const RegisterBank & getRegBankFromRegClass(const TargetRegisterClass &RC) const override
Get a register bank that covers RC.