LLVM  13.0.0git
Classes | Public Member Functions | List of all members
llvm::mca::RegisterFile Class Reference

Manages hardware register files, and tracks register definitions for register renaming purposes. More...

#include "llvm/MCA/HardwareUnits/RegisterFile.h"

Inheritance diagram for llvm::mca::RegisterFile:
Inheritance graph
Collaboration diagram for llvm::mca::RegisterFile:
Collaboration graph

Public Member Functions

 RegisterFile (const MCSchedModel &SM, const MCRegisterInfo &mri, unsigned NumRegs=0)
void addRegisterWrite (WriteRef Write, MutableArrayRef< unsigned > UsedPhysRegs)
void addRegisterRead (ReadState &RS, const MCSubtargetInfo &STI) const
void removeRegisterWrite (const WriteState &WS, MutableArrayRef< unsigned > FreedPhysRegs)
bool tryEliminateMove (WriteState &WS, ReadState &RS)
unsigned isAvailable (ArrayRef< MCPhysReg > Regs) const
unsigned getNumRegisterFiles () const
void cycleStart ()
void dump () const
- Public Member Functions inherited from llvm::mca::HardwareUnit
 HardwareUnit ()=default
virtual ~HardwareUnit ()

Detailed Description

Manages hardware register files, and tracks register definitions for register renaming purposes.

Definition at line 35 of file RegisterFile.h.

Constructor & Destructor Documentation

◆ RegisterFile()

llvm::mca::RegisterFile::RegisterFile ( const MCSchedModel SM,
const MCRegisterInfo mri,
unsigned  NumRegs = 0 

Definition at line 25 of file RegisterFile.cpp.

Member Function Documentation

◆ addRegisterRead()

void llvm::mca::RegisterFile::addRegisterRead ( ReadState RS,
const MCSubtargetInfo STI 
) const

◆ addRegisterWrite()

void llvm::mca::RegisterFile::addRegisterWrite ( WriteRef  Write,
MutableArrayRef< unsigned >  UsedPhysRegs 

◆ cycleStart()

void llvm::mca::RegisterFile::cycleStart ( )

Definition at line 61 of file RegisterFile.cpp.

Referenced by llvm::mca::DispatchStage::cycleStart().

◆ dump()

void llvm::mca::RegisterFile::dump ( ) const

◆ getNumRegisterFiles()

unsigned llvm::mca::RegisterFile::getNumRegisterFiles ( ) const

◆ isAvailable()

unsigned llvm::mca::RegisterFile::isAvailable ( ArrayRef< MCPhysReg Regs) const

Definition at line 418 of file RegisterFile.cpp.

References getNumRegisterFiles().

◆ removeRegisterWrite()

void llvm::mca::RegisterFile::removeRegisterWrite ( const WriteState WS,
MutableArrayRef< unsigned >  FreedPhysRegs 

◆ tryEliminateMove()

bool llvm::mca::RegisterFile::tryEliminateMove ( WriteState WS,
ReadState RS 

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