LLVM
8.0.1
|
#include "Target/AMDGPU/GCNRegPressure.h"
Public Types | |
enum | RegKind { SGPR32, SGPR_TUPLE, VGPR32, VGPR_TUPLE, TOTAL_KINDS } |
Public Member Functions | |
GCNRegPressure () | |
bool | empty () const |
void | clear () |
unsigned | getSGPRNum () const |
unsigned | getVGPRNum () const |
unsigned | getVGPRTuplesWeight () const |
unsigned | getSGPRTuplesWeight () const |
unsigned | getOccupancy (const GCNSubtarget &ST) const |
void | inc (unsigned Reg, LaneBitmask PrevMask, LaneBitmask NewMask, const MachineRegisterInfo &MRI) |
bool | higherOccupancy (const GCNSubtarget &ST, const GCNRegPressure &O) const |
bool | less (const GCNSubtarget &ST, const GCNRegPressure &O, unsigned MaxOccupancy=std::numeric_limits< unsigned >::max()) const |
bool | operator== (const GCNRegPressure &O) const |
bool | operator!= (const GCNRegPressure &O) const |
void | print (raw_ostream &OS, const GCNSubtarget *ST=nullptr) const |
void | dump () const |
Friends | |
GCNRegPressure | max (const GCNRegPressure &P1, const GCNRegPressure &P2) |
Definition at line 29 of file GCNRegPressure.h.
Enumerator | |
---|---|
SGPR32 | |
SGPR_TUPLE | |
VGPR32 | |
VGPR_TUPLE | |
TOTAL_KINDS |
Definition at line 30 of file GCNRegPressure.h.
|
inline |
Definition at line 38 of file GCNRegPressure.h.
References clear().
|
inline |
Definition at line 44 of file GCNRegPressure.h.
References TOTAL_KINDS.
Referenced by llvm::GCNRPTracker::clearMaxPressure(), GCNRegPressure(), llvm::GCNRPTracker::moveMaxPressure(), and llvm::GCNIterativeScheduler::OverrideLegacyStrategy::schedule().
|
inline |
Definition at line 78 of file GCNRegPressure.h.
References llvm::dbgs(), max, print(), and TOTAL_KINDS.
Referenced by llvm::DWARFListTableBase< DWARFDebugRnglist >::dump().
|
inline |
Definition at line 42 of file GCNRegPressure.h.
References getSGPRNum(), and getVGPRNum().
Referenced by llvm::GCNIterativeScheduler::scheduleRegion().
|
inline |
Definition at line 52 of file GCNRegPressure.h.
References llvm::GCNSubtarget::getOccupancyWithNumSGPRs(), llvm::GCNSubtarget::getOccupancyWithNumVGPRs(), getSGPRNum(), getVGPRNum(), inc(), MRI, and Reg.
Referenced by getMopState(), higherOccupancy(), print(), and llvm::GCNScheduleDAGMILive::schedule().
|
inline |
Definition at line 46 of file GCNRegPressure.h.
References SGPR32.
Referenced by empty(), getMopState(), getOccupancy(), less(), and print().
|
inline |
Definition at line 50 of file GCNRegPressure.h.
References SGPR_TUPLE.
|
inline |
Definition at line 47 of file GCNRegPressure.h.
References VGPR32.
Referenced by empty(), getMopState(), getOccupancy(), less(), and print().
|
inline |
Definition at line 49 of file GCNRegPressure.h.
References VGPR_TUPLE.
|
inline |
Definition at line 62 of file GCNRegPressure.h.
References getOccupancy(), less(), llvm::max(), llvm::RISCVFenceField::O, and llvm::ARM_MB::ST.
void GCNRegPressure::inc | ( | unsigned | Reg, |
LaneBitmask | PrevMask, | ||
LaneBitmask | NewMask, | ||
const MachineRegisterInfo & | MRI | ||
) |
Definition at line 95 of file GCNRegPressure.cpp.
References llvm::LaneBitmask::any(), assert(), llvm::MachineRegisterInfo::getMaxLaneMaskForVReg(), llvm::MachineRegisterInfo::getPressureSets(), llvm::PSetIterator::getWeight(), Kind, llvm_unreachable, llvm::LaneBitmask::none(), SGPR32, SGPR_TUPLE, std::swap(), VGPR32, and VGPR_TUPLE.
Referenced by getOccupancy(), and llvm::getRegPressure().
bool GCNRegPressure::less | ( | const GCNSubtarget & | ST, |
const GCNRegPressure & | O, | ||
unsigned | MaxOccupancy = std::numeric_limits<unsigned>::max() |
||
) | const |
Definition at line 135 of file GCNRegPressure.cpp.
References llvm::GCNSubtarget::getOccupancyWithNumSGPRs(), llvm::GCNSubtarget::getOccupancyWithNumVGPRs(), getSGPRNum(), getSGPRTuplesWeight(), getVGPRNum(), getVGPRTuplesWeight(), I, and LLVM_DUMP_METHOD.
Referenced by higherOccupancy(), and llvm::GCNIterativeScheduler::sortRegionsByPressure().
|
inline |
Definition at line 73 of file GCNRegPressure.h.
References llvm::RISCVFenceField::O, and print().
|
inline |
Definition at line 69 of file GCNRegPressure.h.
References llvm::lltok::equal, and TOTAL_KINDS.
LLVM_DUMP_METHOD void GCNRegPressure::print | ( | raw_ostream & | OS, |
const GCNSubtarget * | ST = nullptr |
||
) | const |
Definition at line 181 of file GCNRegPressure.cpp.
References getOccupancy(), llvm::GCNSubtarget::getOccupancyWithNumSGPRs(), llvm::GCNSubtarget::getOccupancyWithNumVGPRs(), getSGPRNum(), getSGPRTuplesWeight(), getVGPRNum(), and getVGPRTuplesWeight().
Referenced by dump(), operator!=(), printLivenessInfo(), llvm::GCNIterativeScheduler::printSchedRP(), llvm::GCNScheduleDAGMILive::schedule(), and llvm::GCNIterativeScheduler::scheduleRegion().
|
friend |
Definition at line 89 of file GCNRegPressure.h.
Referenced by llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::GCNDownwardRPTracker::advanceToNext(), dump(), and llvm::GCNUpwardRPTracker::recede().