|
| static bool | checkPartialMap (unsigned Idx, unsigned ValStartIdx, unsigned ValLength, const RegisterBank &RB) |
| |
| static bool | checkValueMapImpl (unsigned Idx, unsigned FirstInBank, unsigned Size, unsigned Offset) |
| |
| static bool | checkPartialMappingIdx (PartialMappingIdx FirstAlias, PartialMappingIdx LastAlias, ArrayRef< PartialMappingIdx > Order) |
| |
| static unsigned | getRegBankBaseIdxOffset (unsigned RBIdx, unsigned Size) |
| |
| static const RegisterBankInfo::ValueMapping * | getValueMapping (PartialMappingIdx RBIdx, unsigned Size) |
| | Get the pointer to the ValueMapping representing the RegisterBank at RBIdx with a size of Size. More...
|
| |
| static const RegisterBankInfo::ValueMapping * | getCopyMapping (unsigned DstBankID, unsigned SrcBankID, unsigned Size) |
| | Get the pointer to the ValueMapping of the operands of a copy instruction from the SrcBankID register bank to the DstBankID register bank with a size of Size. More...
|
| |
| static const RegisterBankInfo::ValueMapping * | getFPExtMapping (unsigned DstSize, unsigned SrcSize) |
| | Get the instruction mapping for G_FPEXT. More...
|
| |
|
| using | InstructionMappings = SmallVector< const InstructionMapping *, 4 > |
| | Convenient type to represent the alternatives for mapping an instruction. More...
|
| |
| const RegisterBank * | getRegBankFromConstraints (const MachineInstr &MI, unsigned OpIdx, const TargetInstrInfo &TII, const TargetRegisterInfo &TRI) const |
| | Get the register bank for the OpIdx-th operand of MI form the encoding constraints, if any. More...
|
| |
| virtual void | applyMappingImpl (const OperandsMapper &OpdMapper) const |
| | See applyMapping. More...
|
| |
| virtual | ~RegisterBankInfo ()=default |
| |
| const RegisterBank & | getRegBank (unsigned ID) const |
| | Get the register bank identified by ID. More...
|
| |
| const RegisterBank * | getRegBank (unsigned Reg, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI) const |
| | Get the register bank of Reg. More...
|
| |
| unsigned | getNumRegBanks () const |
| | Get the total number of register banks. More...
|
| |
| virtual const RegisterBank & | getRegBankFromRegClass (const TargetRegisterClass &RC) const |
| | Get a register bank that covers RC. More...
|
| |
| virtual unsigned | copyCost (const RegisterBank &A, const RegisterBank &B, unsigned Size) const |
| | Get the cost of a copy from B to A, or put differently, get the cost of A = COPY B. More...
|
| |
| virtual const InstructionMapping & | getInstrMapping (const MachineInstr &MI) const |
| | Get the mapping of the different operands of MI on the register bank. More...
|
| |
| virtual InstructionMappings | getInstrAlternativeMappings (const MachineInstr &MI) const |
| | Get the alternative mappings for MI. More...
|
| |
| const InstructionMapping & | getInstructionMapping (unsigned ID, unsigned Cost, const ValueMapping *OperandsMapping, unsigned NumOperands) const |
| | Method to get a uniquely generated InstructionMapping. More...
|
| |
| const InstructionMapping & | getInvalidInstructionMapping () const |
| | Method to get a uniquely generated invalid InstructionMapping. More...
|
| |
| static void | applyDefaultMapping (const OperandsMapper &OpdMapper) |
| | Helper method to apply something that is like the default mapping. More...
|
| |
| static const TargetRegisterClass * | constrainGenericRegister (unsigned Reg, const TargetRegisterClass &RC, MachineRegisterInfo &MRI) |
| | Constrain the (possibly generic) virtual register Reg to RC. More...
|
| |
| struct llvm::RegisterBankInfo::PartialMapping | ScalarAddx2 |
| |
| | VectorAdd |
| | Get the possible mapping for MI. More...
|
| |
| static const unsigned | DefaultMappingID = UINT_MAX |
| | Identifier used when the related instruction mapping instance is generated by target independent code. More...
|
| |
| static const unsigned | InvalidMappingID = UINT_MAX - 1 |
| | Identifier used when the related instruction mapping instance is generated by the default constructor. More...
|
| |
| | RegisterBankInfo (RegisterBank **RegBanks, unsigned NumRegBanks) |
| | Create a RegisterBankInfo that can accommodate up to NumRegBanks RegisterBank instances. More...
|
| |
| | RegisterBankInfo () |
| | This constructor is meaningless. More...
|
| |
| RegisterBank & | getRegBank (unsigned ID) |
| | Get the register bank identified by ID. More...
|
| |
| const TargetRegisterClass & | getMinimalPhysRegClass (unsigned Reg, const TargetRegisterInfo &TRI) const |
| | Get the MinimalPhysRegClass for Reg. More...
|
| |
| const InstructionMapping & | getInstrMappingImpl (const MachineInstr &MI) const |
| | Try to get the mapping of MI. More...
|
| |
| const PartialMapping & | getPartialMapping (unsigned StartIdx, unsigned Length, const RegisterBank &RegBank) const |
| | Get the uniquely generated PartialMapping for the given arguments. More...
|
| |
| const ValueMapping & | getValueMapping (unsigned StartIdx, unsigned Length, const RegisterBank &RegBank) const |
| | The most common ValueMapping consists of a single PartialMapping. More...
|
| |
| const ValueMapping & | getValueMapping (const PartialMapping *BreakDown, unsigned NumBreakDowns) const |
| | Get the ValueMapping for the given arguments. More...
|
| |
| template<typename Iterator > |
| const ValueMapping * | getOperandsMapping (Iterator Begin, Iterator End) const |
| | Get the uniquely generated array of ValueMapping for the elements of between Begin and End. More...
|
| |
| const ValueMapping * | getOperandsMapping (const SmallVectorImpl< const ValueMapping *> &OpdsMapping) const |
| | Get the uniquely generated array of ValueMapping for the elements of OpdsMapping. More...
|
| |
| const ValueMapping * | getOperandsMapping (std::initializer_list< const ValueMapping *> OpdsMapping) const |
| | Get the uniquely generated array of ValueMapping for the given arguments. More...
|
| |
| RegisterBank ** | RegBanks |
| | Hold the set of supported register banks. More...
|
| |
| unsigned | NumRegBanks |
| | Total number of register banks. More...
|
| |
| DenseMap< unsigned, std::unique_ptr< const PartialMapping > > | MapOfPartialMappings |
| | Keep dynamically allocated PartialMapping in a separate map. More...
|
| |
| DenseMap< unsigned, std::unique_ptr< const ValueMapping > > | MapOfValueMappings |
| | Keep dynamically allocated ValueMapping in a separate map. More...
|
| |
| DenseMap< unsigned, std::unique_ptr< ValueMapping[]> > | MapOfOperandsMappings |
| | Keep dynamically allocated array of ValueMapping in a separate map. More...
|
| |
| DenseMap< unsigned, std::unique_ptr< const InstructionMapping > > | MapOfInstructionMappings |
| | Keep dynamically allocated InstructionMapping in a separate map. More...
|
| |
| DenseMap< unsigned, const TargetRegisterClass * > | PhysRegMinimalRCs |
| | Getting the minimal register class of a physreg is expensive. More...
|
| |
Definition at line 26 of file AArch64RegisterBankInfo.h.