LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
llvm::RegisterPressure Struct Reference

Base class for register pressure results. More...

#include <RegisterPressure.h>

Inheritance diagram for llvm::RegisterPressure:
Inheritance graph
[legend]
Collaboration diagram for llvm::RegisterPressure:
Collaboration graph
[legend]

Public Member Functions

void increase (unsigned Reg, const TargetRegisterInfo *TRI, const MachineRegisterInfo *MRI)
 
void decrease (unsigned Reg, const TargetRegisterInfo *TRI, const MachineRegisterInfo *MRI)
 
void dump (const TargetRegisterInfo *TRI) const
 

Public Attributes

std::vector< unsignedMaxSetPressure
 Map of max reg pressure indexed by pressure set ID, not class ID. More...
 
SmallVector< unsigned, 8 > LiveInRegs
 List of live in virtual registers or physical register units. More...
 
SmallVector< unsigned, 8 > LiveOutRegs
 

Detailed Description

Base class for register pressure results.

Definition at line 30 of file RegisterPressure.h.

Member Function Documentation

void llvm::RegisterPressure::decrease ( unsigned  Reg,
const TargetRegisterInfo TRI,
const MachineRegisterInfo MRI 
)

Decrease register pressure for each pressure set impacted by this register class. This is only useful to account for spilling or rematerialization.

Parameters
Regis either a virtual register number or register unit number.
void RegisterPressure::dump ( const TargetRegisterInfo TRI) const
void llvm::RegisterPressure::increase ( unsigned  Reg,
const TargetRegisterInfo TRI,
const MachineRegisterInfo MRI 
)

Increase register pressure for each pressure set impacted by this register class. Normally called by RegPressureTracker, but may be called manually to account for live through (global liveness).

Parameters
Regis either a virtual register number or register unit number.

Member Data Documentation

SmallVector<unsigned,8> llvm::RegisterPressure::LiveInRegs
SmallVector<unsigned,8> llvm::RegisterPressure::LiveOutRegs
std::vector<unsigned> llvm::RegisterPressure::MaxSetPressure

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