LLVM: llvm::SGPRSpillBuilder Struct Reference (original) (raw)
| 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 DebugLoc & | DL |
| Register | TmpVGPR = AMDGPU::NoRegister |
| int | TmpVGPRIndex = 0 |
| bool | TmpVGPRLive = false |
| Register | SavedExecReg = AMDGPU::NoRegister |
| int | Index |
| unsigned | EltSize = 4 |
| RegScavenger * | RS |
| MachineBasicBlock * | MBB |
| MachineFunction & | MF |
| SIMachineFunctionInfo & | MFI |
| const SIInstrInfo & | TII |
| const SIRegisterInfo & | TRI |
| bool | IsWave32 |
| Register | ExecReg |
| unsigned | MovOpc |
| unsigned | NotOpc |
Definition at line 78 of file SIRegisterInfo.cpp.
◆ SGPRSpillBuilder() [2/2]
Definition at line 124 of file SIRegisterInfo.cpp.
References assert(), DL, EltSize, ExecReg, getDebugLoc(), getParent(), if(), Index, IsKill, IsWave32, MBB, MF, MFI, MI, MovOpc, NotOpc, NumSubRegs, RS, SplitParts, SuperReg, TII, and TRI.
◆ getPerVGPRData()
| PerVGPRData llvm::SGPRSpillBuilder::getPerVGPRData ( ) | inline |
|---|
◆ prepare()
| void llvm::SGPRSpillBuilder::prepare ( ) | inline |
|---|
Definition at line 171 of file SIRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), DL, emitUnsupportedError(), ExecReg, getPerVGPRData(), I, llvm::RegState::ImplicitDefine, IsWave32, MBB, MF, MFI, MI, MovOpc, NotOpc, RS, SavedExecReg, SuperReg, TII, TmpVGPR, TmpVGPRIndex, TmpVGPRLive, TRI, and llvm::SGPRSpillBuilder::PerVGPRData::VGPRLanes.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
◆ readWriteTmpVGPR()
| void llvm::SGPRSpillBuilder::readWriteTmpVGPR ( unsigned Offset, bool IsLoad ) | inline |
|---|
Definition at line 295 of file SIRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, emitUnsupportedError(), ExecReg, llvm::MachineInstr::getOperand(), Index, MBB, MF, MI, NotOpc, llvm::Offset, RS, SavedExecReg, llvm::MachineOperand::setIsDead(), TII, and TRI.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), and llvm::SIRegisterInfo::spillSGPR().
◆ restore()
| void llvm::SGPRSpillBuilder::restore ( ) | inline |
|---|
Definition at line 254 of file SIRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, ExecReg, I, llvm::RegState::ImplicitKill, llvm::RegState::Kill, MBB, MI, MovOpc, NotOpc, RS, SavedExecReg, TII, TmpVGPR, TmpVGPRIndex, TmpVGPRLive, and TRI.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
◆ setMI()
◆ DL
◆ EltSize
unsigned llvm::SGPRSpillBuilder::EltSize = 4
◆ ExecReg
Register llvm::SGPRSpillBuilder::ExecReg
◆ Index
int llvm::SGPRSpillBuilder::Index
◆ IsKill
bool llvm::SGPRSpillBuilder::IsKill
◆ IsWave32
bool llvm::SGPRSpillBuilder::IsWave32
◆ MBB
◆ MF
◆ MFI
◆ MI
◆ MovOpc
◆ NotOpc
◆ NumSubRegs
unsigned llvm::SGPRSpillBuilder::NumSubRegs
◆ RS
◆ SavedExecReg
Register llvm::SGPRSpillBuilder::SavedExecReg = AMDGPU::NoRegister
◆ SplitParts
ArrayRef<int16_t> llvm::SGPRSpillBuilder::SplitParts
◆ SuperReg
Register llvm::SGPRSpillBuilder::SuperReg
◆ TII
◆ TmpVGPR
Register llvm::SGPRSpillBuilder::TmpVGPR = AMDGPU::NoRegister
◆ TmpVGPRIndex
int llvm::SGPRSpillBuilder::TmpVGPRIndex = 0
◆ TmpVGPRLive
bool llvm::SGPRSpillBuilder::TmpVGPRLive = false
◆ TRI
The documentation for this struct was generated from the following file:
- lib/Target/AMDGPU/SIRegisterInfo.cpp