LLVM: llvm::mca::RegisterFile Class Reference (original) (raw)
Manages hardware register files, and tracks register definitions for register renaming purposes. More...
#include "[llvm/MCA/HardwareUnits/RegisterFile.h](RegisterFile%5F8h%5Fsource.html)"
Manages hardware register files, and tracks register definitions for register renaming purposes.
Definition at line 83 of file RegisterFile.h.
◆ addRegisterRead()
Definition at line 626 of file RegisterFile.cpp.
References llvm::mca::WriteState::addUser(), assert(), collectWrites(), getElapsedCyclesFromWriteBack(), llvm::MCSubtargetInfo::getReadAdvanceCycles(), llvm::MCSchedModel::getSchedClassDesc(), llvm::MCSubtargetInfo::getSchedModel(), llvm::mca::ReadDescriptor::SchedClassID, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::mca::ReadDescriptor::UseIndex.
Referenced by llvm::mca::addRegisterReadWrite().
◆ addRegisterWrite()
Definition at line 233 of file RegisterFile.cpp.
References llvm::mca::WriteState::addUser(), assert(), llvm::mca::WriteState::clearsSuperRegisters(), llvm::dbgs(), llvm::mca::WriteState::getLatency(), llvm::mca::WriteState::getRegisterID(), llvm::mca::WriteRef::getSourceIndex(), llvm::mca::WriteRef::getWriteState(), I, llvm::mca::WriteState::isEliminated(), llvm::mca::isNonArtificial(), llvm::mca::WriteState::isWriteZero(), LLVM_DEBUG, llvm::make_filter_range(), llvm::mca::WriteState::setPRF(), and llvm::Write.
Referenced by llvm::mca::addRegisterReadWrite().
◆ canEliminateMove()
◆ checkRAWHazards()
Definition at line 576 of file RegisterFile.cpp.
References assert(), llvm::SmallVectorImpl< T >::clear(), collectWrites(), llvm::mca::RegisterFile::RAWHazard::CyclesLeft, llvm::mca::WriteState::getCyclesLeft(), getElapsedCyclesFromWriteBack(), llvm::MCSubtargetInfo::getReadAdvanceCycles(), llvm::MCSchedModel::getSchedClassDesc(), llvm::MCSubtargetInfo::getSchedModel(), llvm::mca::WriteState::getWriteResourceID(), llvm::mca::RegisterFile::RAWHazard::isValid(), llvm::mca::RegisterFile::RAWHazard::RegisterID, llvm::mca::ReadDescriptor::SchedClassID, llvm::mca::UNKNOWN_CYCLES, and llvm::mca::ReadDescriptor::UseIndex.
Referenced by llvm::mca::checkRegisterHazard().
◆ collectWrites()
Definition at line 510 of file RegisterFile.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::dbgs(), getElapsedCyclesFromWriteBack(), llvm::MCSubtargetInfo::getReadAdvanceCycles(), llvm::mca::WriteState::getRegisterID(), llvm::MCSchedModel::getSchedClassDesc(), llvm::MCSubtargetInfo::getSchedModel(), llvm::mca::WriteRef::getSourceIndex(), llvm::mca::WriteRef::getWriteResourceID(), llvm::mca::WriteRef::getWriteState(), llvm::mca::WriteRef::hasKnownWriteBackCycle(), I, LLVM_DEBUG, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::resize(), llvm::mca::ReadDescriptor::SchedClassID, llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::sort(), llvm::unique(), and llvm::mca::ReadDescriptor::UseIndex.
Referenced by addRegisterRead(), and checkRAWHazards().
◆ cycleEnd()
| void llvm::mca::RegisterFile::cycleEnd ( ) | inline |
|---|
◆ cycleStart()
| void llvm::mca::RegisterFile::cycleStart | ( | ) |
|---|
◆ dump()
| void llvm::mca::RegisterFile::dump | ( | ) | const |
|---|
◆ getElapsedCyclesFromWriteBack()
◆ getNumRegisterFiles()
| unsigned llvm::mca::RegisterFile::getNumRegisterFiles ( ) const | inline |
|---|
◆ isAvailable()
◆ onInstructionExecuted()
| void llvm::mca::RegisterFile::onInstructionExecuted | ( | Instruction * | IS | ) |
|---|
◆ removeRegisterWrite()
◆ tryEliminateMoveOrSwap()
The documentation for this class was generated from the following files:
- include/llvm/MCA/HardwareUnits/RegisterFile.h
- lib/MCA/HardwareUnits/RegisterFile.cpp