LLVM 20.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::SGPRSpillBuilder Struct Reference

Classes

struct  PerVGPRData
 

Public Member Functions

 SGPRSpillBuilder (const SIRegisterInfo &TRI, const SIInstrInfo &TII, bool IsWave32, MachineBasicBlock::iterator MI, int Index, RegScavenger *RS)
 
 SGPRSpillBuilder (const SIRegisterInfo &TRI, const SIInstrInfo &TII, bool IsWave32, MachineBasicBlock::iterator MI, Register Reg, bool IsKill, int Index, RegScavenger *RS)
 
PerVGPRData getPerVGPRData ()
 
void prepare ()
 
void restore ()
 
void readWriteTmpVGPR (unsigned Offset, bool IsLoad)
 
void setMI (MachineBasicBlock *NewMBB, MachineBasicBlock::iterator NewMI)
 

Public Attributes

Register SuperReg
 
MachineBasicBlock::iterator MI
 
ArrayRef< int16_t > SplitParts
 
unsigned NumSubRegs
 
bool IsKill
 
const DebugLocDL
 
Register TmpVGPR = AMDGPU::NoRegister
 
int TmpVGPRIndex = 0
 
bool TmpVGPRLive = false
 
Register SavedExecReg = AMDGPU::NoRegister
 
int Index
 
unsigned EltSize = 4
 
RegScavengerRS
 
MachineBasicBlockMBB
 
MachineFunctionMF
 
SIMachineFunctionInfoMFI
 
const SIInstrInfoTII
 
const SIRegisterInfoTRI
 
bool IsWave32
 
Register ExecReg
 
unsigned MovOpc
 
unsigned NotOpc
 

Detailed Description

Definition at line 78 of file SIRegisterInfo.cpp.

Constructor & Destructor Documentation

◆ SGPRSpillBuilder() [1/2]

llvm::SGPRSpillBuilder::SGPRSpillBuilder ( const SIRegisterInfo TRI,
const SIInstrInfo TII,
bool  IsWave32,
MachineBasicBlock::iterator  MI,
int  Index,
RegScavenger RS 
)
inline

Definition at line 118 of file SIRegisterInfo.cpp.

◆ SGPRSpillBuilder() [2/2]

llvm::SGPRSpillBuilder::SGPRSpillBuilder ( const SIRegisterInfo TRI,
const SIInstrInfo TII,
bool  IsWave32,
MachineBasicBlock::iterator  MI,
Register  Reg,
bool  IsKill,
int  Index,
RegScavenger RS 
)
inline

Member Function Documentation

◆ getPerVGPRData()

PerVGPRData llvm::SGPRSpillBuilder::getPerVGPRData ( )
inline

◆ prepare()

void llvm::SGPRSpillBuilder::prepare ( )
inline

◆ readWriteTmpVGPR()

void llvm::SGPRSpillBuilder::readWriteTmpVGPR ( unsigned  Offset,
bool  IsLoad 
)
inline

◆ restore()

void llvm::SGPRSpillBuilder::restore ( )
inline

◆ setMI()

void llvm::SGPRSpillBuilder::setMI ( MachineBasicBlock NewMBB,
MachineBasicBlock::iterator  NewMI 
)
inline

Member Data Documentation

◆ DL

const DebugLoc& llvm::SGPRSpillBuilder::DL

◆ EltSize

unsigned llvm::SGPRSpillBuilder::EltSize = 4

◆ ExecReg

Register llvm::SGPRSpillBuilder::ExecReg

Definition at line 114 of file SIRegisterInfo.cpp.

Referenced by prepare(), readWriteTmpVGPR(), restore(), and SGPRSpillBuilder().

◆ Index

int llvm::SGPRSpillBuilder::Index

Definition at line 104 of file SIRegisterInfo.cpp.

Referenced by readWriteTmpVGPR().

◆ IsKill

bool llvm::SGPRSpillBuilder::IsKill

◆ IsWave32

bool llvm::SGPRSpillBuilder::IsWave32

Definition at line 113 of file SIRegisterInfo.cpp.

Referenced by getPerVGPRData(), prepare(), and SGPRSpillBuilder().

◆ MBB

MachineBasicBlock* llvm::SGPRSpillBuilder::MBB

◆ MF

MachineFunction& llvm::SGPRSpillBuilder::MF

◆ MFI

SIMachineFunctionInfo& llvm::SGPRSpillBuilder::MFI

◆ MI

MachineBasicBlock::iterator llvm::SGPRSpillBuilder::MI

◆ MovOpc

unsigned llvm::SGPRSpillBuilder::MovOpc

Definition at line 115 of file SIRegisterInfo.cpp.

Referenced by prepare(), restore(), and SGPRSpillBuilder().

◆ NotOpc

unsigned llvm::SGPRSpillBuilder::NotOpc

Definition at line 116 of file SIRegisterInfo.cpp.

Referenced by prepare(), readWriteTmpVGPR(), restore(), and SGPRSpillBuilder().

◆ NumSubRegs

unsigned llvm::SGPRSpillBuilder::NumSubRegs

◆ RS

RegScavenger* llvm::SGPRSpillBuilder::RS

◆ SavedExecReg

Register llvm::SGPRSpillBuilder::SavedExecReg = AMDGPU::NoRegister

Definition at line 102 of file SIRegisterInfo.cpp.

Referenced by prepare(), readWriteTmpVGPR(), and restore().

◆ SplitParts

ArrayRef<int16_t> llvm::SGPRSpillBuilder::SplitParts

◆ SuperReg

Register llvm::SGPRSpillBuilder::SuperReg

◆ TII

const SIInstrInfo& llvm::SGPRSpillBuilder::TII

◆ TmpVGPR

Register llvm::SGPRSpillBuilder::TmpVGPR = AMDGPU::NoRegister

◆ TmpVGPRIndex

int llvm::SGPRSpillBuilder::TmpVGPRIndex = 0

Definition at line 98 of file SIRegisterInfo.cpp.

Referenced by prepare(), and restore().

◆ TmpVGPRLive

bool llvm::SGPRSpillBuilder::TmpVGPRLive = false

Definition at line 100 of file SIRegisterInfo.cpp.

Referenced by prepare(), and restore().

◆ TRI

const SIRegisterInfo& llvm::SGPRSpillBuilder::TRI

Definition at line 112 of file SIRegisterInfo.cpp.

Referenced by prepare(), readWriteTmpVGPR(), restore(), and SGPRSpillBuilder().


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