LLVM  6.0.0svn
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,
  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 SISubtarget &ST) const
 
void inc (unsigned Reg, LaneBitmask PrevMask, LaneBitmask NewMask, const MachineRegisterInfo &MRI)
 
bool higherOccupancy (const SISubtarget &ST, const GCNRegPressure &O) const
 
bool less (const SISubtarget &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 SISubtarget *ST=nullptr) const
 
void dump () const
 

Friends

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

Detailed Description

Definition at line 29 of file GCNRegPressure.h.

Member Enumeration Documentation

◆ RegKind

Enumerator
SGPR32 
SGPR_TUPLE 
VGPR32 
VGPR_TUPLE 
TOTAL_KINDS 

Definition at line 30 of file GCNRegPressure.h.

Constructor & Destructor Documentation

◆ GCNRegPressure()

llvm::GCNRegPressure::GCNRegPressure ( )
inline

Definition at line 38 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 78 of file GCNRegPressure.h.

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

◆ empty()

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

Definition at line 42 of file GCNRegPressure.h.

References getSGPRNum(), and getVGPRNum().

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

◆ getOccupancy()

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

◆ getSGPRNum()

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

Definition at line 46 of file GCNRegPressure.h.

References SGPR32.

Referenced by empty(), getOccupancy(), less(), print(), and llvm::GCNScheduleDAGMILive::schedule().

◆ getSGPRTuplesWeight()

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

Definition at line 50 of file GCNRegPressure.h.

References SGPR_TUPLE.

Referenced by less(), and print().

◆ getVGPRNum()

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

Definition at line 47 of file GCNRegPressure.h.

References VGPR32.

Referenced by empty(), getOccupancy(), less(), print(), and llvm::GCNScheduleDAGMILive::schedule().

◆ getVGPRTuplesWeight()

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

Definition at line 49 of file GCNRegPressure.h.

References VGPR_TUPLE.

Referenced by less(), and print().

◆ higherOccupancy()

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

◆ inc()

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

◆ less()

bool GCNRegPressure::less ( const SISubtarget 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 73 of file GCNRegPressure.h.

References llvm::RISCVFenceField::O, and print().

◆ operator==()

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

Definition at line 69 of file GCNRegPressure.h.

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

◆ print()

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

Friends And Related Function Documentation

◆ max

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

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