LLVM API Documentation

Public Member Functions | Public Attributes
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]

List of all members.

Public Member Functions

void increase (unsigned Reg, const TargetRegisterInfo *TRI, const MachineRegisterInfo *MRI)
 Directly increase pressure only within this RegisterPressure result.
void decrease (unsigned Reg, const TargetRegisterInfo *TRI, const MachineRegisterInfo *MRI)
 Directly decrease pressure only within this RegisterPressure result.
void dump (const TargetRegisterInfo *TRI) const

Public Attributes

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

Detailed Description

Base class for register pressure results.

Definition at line 30 of file RegisterPressure.h.


Member Function Documentation

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

Directly decrease pressure only within this RegisterPressure result.

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.

Definition at line 65 of file RegisterPressure.cpp.

References decreaseSetPressure(), llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassPressureSets(), llvm::TargetRegisterInfo::getRegClassWeight(), llvm::TargetRegisterInfo::getRegUnitPressureSets(), llvm::TargetRegisterInfo::getRegUnitWeight(), llvm::TargetRegisterInfo::isVirtualRegister(), MaxSetPressure, and llvm::RegClassWeight::RegWeight.

void RegisterPressure::dump ( const TargetRegisterInfo TRI) const
void RegisterPressure::increase ( unsigned  Reg,
const TargetRegisterInfo TRI,
const MachineRegisterInfo MRI 
)

Directly increase pressure only within this RegisterPressure result.

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.

Definition at line 49 of file RegisterPressure.cpp.

References llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassPressureSets(), llvm::TargetRegisterInfo::getRegClassWeight(), llvm::TargetRegisterInfo::getRegUnitPressureSets(), llvm::TargetRegisterInfo::getRegUnitWeight(), increaseSetPressure(), llvm::TargetRegisterInfo::isVirtualRegister(), MaxSetPressure, and llvm::RegClassWeight::RegWeight.

Referenced by llvm::RegPressureTracker::discoverLiveIn(), and llvm::RegPressureTracker::discoverLiveOut().


Member Data Documentation


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