LLVM  14.0.0git
Public Types | Public Member Functions | Friends | List of all members
llvm::GCNRegPressure Struct Reference

#include "Target/AMDGPU/GCNRegPressure.h"

Public Types

enum  RegKind {
  SGPR32, SGPR_TUPLE, VGPR32, VGPR_TUPLE,
  AGPR32, AGPR_TUPLE, TOTAL_KINDS
}
 

Public Member Functions

 GCNRegPressure ()
 
bool empty () const
 
void clear ()
 
unsigned getSGPRNum () const
 
unsigned getVGPRNum (bool UnifiedVGPRFile) const
 
unsigned getAGPRNum () 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)
 

Detailed Description

Definition at line 30 of file GCNRegPressure.h.

Member Enumeration Documentation

◆ RegKind

Enumerator
SGPR32 
SGPR_TUPLE 
VGPR32 
VGPR_TUPLE 
AGPR32 
AGPR_TUPLE 
TOTAL_KINDS 

Definition at line 31 of file GCNRegPressure.h.

Constructor & Destructor Documentation

◆ GCNRegPressure()

llvm::GCNRegPressure::GCNRegPressure ( )
inline

Definition at line 41 of file GCNRegPressure.h.

References clear().

Member Function Documentation

◆ clear()

void llvm::GCNRegPressure::clear ( )
inline

◆ dump()

void llvm::GCNRegPressure::dump ( ) const
inline

Definition at line 89 of file GCNRegPressure.h.

References llvm::dbgs(), and print().

◆ empty()

bool llvm::GCNRegPressure::empty ( ) const
inline

Definition at line 45 of file GCNRegPressure.h.

References getSGPRNum(), and getVGPRNum().

Referenced by llvm::GCNIterativeScheduler::scheduleRegion().

◆ getAGPRNum()

unsigned llvm::GCNRegPressure::getAGPRNum ( ) const
inline

Definition at line 57 of file GCNRegPressure.h.

References AGPR32.

◆ getOccupancy()

unsigned llvm::GCNRegPressure::getOccupancy ( const GCNSubtarget ST) const
inline

◆ getSGPRNum()

unsigned llvm::GCNRegPressure::getSGPRNum ( ) const
inline

Definition at line 49 of file GCNRegPressure.h.

References SGPR32.

Referenced by empty(), getOccupancy(), less(), and print().

◆ getSGPRTuplesWeight()

unsigned llvm::GCNRegPressure::getSGPRTuplesWeight ( ) const
inline

Definition at line 61 of file GCNRegPressure.h.

References SGPR_TUPLE.

Referenced by less(), and print().

◆ getVGPRNum()

unsigned llvm::GCNRegPressure::getVGPRNum ( bool  UnifiedVGPRFile) const
inline

Definition at line 50 of file GCNRegPressure.h.

References AGPR32, llvm::alignTo(), llvm::max(), and VGPR32.

Referenced by empty(), getOccupancy(), less(), and print().

◆ getVGPRTuplesWeight()

unsigned llvm::GCNRegPressure::getVGPRTuplesWeight ( ) const
inline

Definition at line 59 of file GCNRegPressure.h.

References AGPR_TUPLE, llvm::max(), and VGPR_TUPLE.

Referenced by less(), and print().

◆ higherOccupancy()

bool llvm::GCNRegPressure::higherOccupancy ( const GCNSubtarget ST,
const GCNRegPressure O 
) const
inline

Definition at line 73 of file GCNRegPressure.h.

References getOccupancy(), llvm::RISCVFenceField::O, and llvm::ARM_MB::ST.

◆ inc()

void GCNRegPressure::inc ( unsigned  Reg,
LaneBitmask  PrevMask,
LaneBitmask  NewMask,
const MachineRegisterInfo MRI 
)

◆ less()

bool GCNRegPressure::less ( const GCNSubtarget ST,
const GCNRegPressure O,
unsigned  MaxOccupancy = std::numeric_limits<unsigned>::max() 
) const

◆ operator!=()

bool llvm::GCNRegPressure::operator!= ( const GCNRegPressure O) const
inline

Definition at line 84 of file GCNRegPressure.h.

References llvm::RISCVFenceField::O.

◆ operator==()

bool llvm::GCNRegPressure::operator== ( const GCNRegPressure O) const
inline

Definition at line 80 of file GCNRegPressure.h.

References llvm::lltok::equal, llvm::RISCVFenceField::O, and TOTAL_KINDS.

◆ print()

LLVM_DUMP_METHOD void GCNRegPressure::print ( raw_ostream OS,
const GCNSubtarget ST = nullptr 
) const

Friends And Related Function Documentation

◆ max

GCNRegPressure max ( const GCNRegPressure P1,
const GCNRegPressure P2 
)
friend

Definition at line 100 of file GCNRegPressure.h.


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