LLVM  8.0.1
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::MCRegisterClass Class Reference

MCRegisterClass - Base class of TargetRegisterClass. More...

#include "llvm/MC/MCRegisterInfo.h"

Collaboration diagram for llvm::MCRegisterClass:
Collaboration graph
[legend]

Public Types

using iterator = const MCPhysReg *
 
using const_iterator = const MCPhysReg *
 

Public Member Functions

unsigned getID () const
 getID() - Return the register class ID number. More...
 
iterator begin () const
 begin/end - Return all of the registers in this class. More...
 
iterator end () const
 
unsigned getNumRegs () const
 getNumRegs - Return the number of registers in this class. More...
 
unsigned getRegister (unsigned i) const
 getRegister - Return the specified register in the class. More...
 
bool contains (unsigned Reg) const
 contains - Return true if the specified register is included in this register class. More...
 
bool contains (unsigned Reg1, unsigned Reg2) const
 contains - Return true if both registers are in this class. More...
 
int getCopyCost () const
 getCopyCost - Return the cost of copying a value between two registers in this class. More...
 
bool isAllocatable () const
 isAllocatable - Return true if this register class may be used to create virtual registers. More...
 

Public Attributes

const iterator RegsBegin
 
const uint8_t *const RegSet
 
const uint32_t NameIdx
 
const uint16_t RegsSize
 
const uint16_t RegSetSize
 
const uint16_t ID
 
const int8_t CopyCost
 
const bool Allocatable
 

Detailed Description

MCRegisterClass - Base class of TargetRegisterClass.

Definition at line 33 of file MCRegisterInfo.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 36 of file MCRegisterInfo.h.

◆ iterator

Definition at line 35 of file MCRegisterInfo.h.

Member Function Documentation

◆ begin()

iterator llvm::MCRegisterClass::begin ( ) const
inline

begin/end - Return all of the registers in this class.

Definition at line 53 of file MCRegisterInfo.h.

References RegsBegin.

Referenced by llvm::TargetRegisterClass::begin(), getReg(), and llvm::TargetRegisterClass::getRegisters().

◆ contains() [1/2]

bool llvm::MCRegisterClass::contains ( unsigned  Reg) const
inline

◆ contains() [2/2]

bool llvm::MCRegisterClass::contains ( unsigned  Reg1,
unsigned  Reg2 
) const
inline

contains - Return true if both registers are in this class.

Definition at line 78 of file MCRegisterInfo.h.

References contains().

◆ end()

iterator llvm::MCRegisterClass::end ( ) const
inline

Definition at line 54 of file MCRegisterInfo.h.

References RegsSize.

Referenced by llvm::TargetRegisterClass::end(), and llvm::TargetRegisterClass::getRegisters().

◆ getCopyCost()

int llvm::MCRegisterClass::getCopyCost ( ) const
inline

getCopyCost - Return the cost of copying a value between two registers in this class.

A negative number means the register class is very expensive to copy e.g. status flag register classes.

Definition at line 85 of file MCRegisterInfo.h.

References CopyCost.

Referenced by llvm::TargetRegisterClass::getCopyCost().

◆ getID()

unsigned llvm::MCRegisterClass::getID ( ) const
inline

getID() - Return the register class ID number.

Definition at line 49 of file MCRegisterInfo.h.

References ID.

Referenced by llvm::TargetRegisterClass::getID(), and llvm::AMDGPU::getRegBitWidth().

◆ getNumRegs()

unsigned llvm::MCRegisterClass::getNumRegs ( ) const
inline

getNumRegs - Return the number of registers in this class.

Definition at line 58 of file MCRegisterInfo.h.

References RegsSize.

Referenced by llvm::TargetRegisterClass::getNumRegs(), getRegister(), and getSpecialRegForName().

◆ getRegister()

unsigned llvm::MCRegisterClass::getRegister ( unsigned  i) const
inline

getRegister - Return the specified register in the class.

Definition at line 62 of file MCRegisterInfo.h.

References assert(), and getNumRegs().

Referenced by doesIgnoreDataTypeSuffix(), llvm::TargetRegisterClass::getRegister(), and getSpecialRegForName().

◆ isAllocatable()

bool llvm::MCRegisterClass::isAllocatable ( ) const
inline

isAllocatable - Return true if this register class may be used to create virtual registers.

Definition at line 89 of file MCRegisterInfo.h.

References Allocatable.

Referenced by llvm::TargetRegisterClass::isAllocatable().

Member Data Documentation

◆ Allocatable

const bool llvm::MCRegisterClass::Allocatable

Definition at line 45 of file MCRegisterInfo.h.

Referenced by isAllocatable().

◆ CopyCost

const int8_t llvm::MCRegisterClass::CopyCost

Definition at line 44 of file MCRegisterInfo.h.

Referenced by getCopyCost().

◆ ID

const uint16_t llvm::MCRegisterClass::ID

Definition at line 43 of file MCRegisterInfo.h.

Referenced by getID().

◆ NameIdx

const uint32_t llvm::MCRegisterClass::NameIdx

Definition at line 40 of file MCRegisterInfo.h.

Referenced by llvm::MCRegisterInfo::getRegClassName().

◆ RegsBegin

const iterator llvm::MCRegisterClass::RegsBegin

Definition at line 38 of file MCRegisterInfo.h.

Referenced by begin().

◆ RegSet

const uint8_t* const llvm::MCRegisterClass::RegSet

Definition at line 39 of file MCRegisterInfo.h.

◆ RegSetSize

const uint16_t llvm::MCRegisterClass::RegSetSize

Definition at line 42 of file MCRegisterInfo.h.

◆ RegsSize

const uint16_t llvm::MCRegisterClass::RegsSize

Definition at line 41 of file MCRegisterInfo.h.

Referenced by end(), and getNumRegs().


The documentation for this class was generated from the following file: