|
LLVM 24.0.0git
|
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 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 98 of file SIRegisterInfo.cpp.
|
inline |
Definition at line 138 of file SIRegisterInfo.cpp.
References getReg(), Index, IsWave32, MI, RS, SGPRSpillBuilder(), TII, and TRI.
Referenced by SGPRSpillBuilder().
|
inline |
Definition at line 144 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.
|
inline |
Definition at line 170 of file SIRegisterInfo.cpp.
References llvm::Data, IsWave32, and NumSubRegs.
Referenced by prepare(), llvm::SIRegisterInfo::restoreSGPR(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 191 of file SIRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), DL, emitUnsupportedError(), ExecReg, getPerVGPRData(), I, llvm::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().
Definition at line 315 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().
|
inline |
Definition at line 274 of file SIRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, ExecReg, I, llvm::ImplicitKill, llvm::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().
|
inline |
Definition at line 339 of file SIRegisterInfo.cpp.
References assert(), MBB, MF, and MI.
Referenced by llvm::SIRegisterInfo::spillEmergencySGPR().
Definition at line 111 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), readWriteTmpVGPR(), restore(), llvm::SIRegisterInfo::restoreSGPR(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| unsigned llvm::SGPRSpillBuilder::EltSize = 4 |
Definition at line 125 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), SGPRSpillBuilder(), and llvm::SIRegisterInfo::spillSGPR().
| Register llvm::SGPRSpillBuilder::ExecReg |
Definition at line 134 of file SIRegisterInfo.cpp.
Referenced by prepare(), readWriteTmpVGPR(), restore(), and SGPRSpillBuilder().
| int llvm::SGPRSpillBuilder::Index |
Definition at line 124 of file SIRegisterInfo.cpp.
Referenced by readWriteTmpVGPR(), SGPRSpillBuilder(), and SGPRSpillBuilder().
| bool llvm::SGPRSpillBuilder::IsKill |
Definition at line 110 of file SIRegisterInfo.cpp.
Referenced by SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| bool llvm::SGPRSpillBuilder::IsWave32 |
Definition at line 133 of file SIRegisterInfo.cpp.
Referenced by getPerVGPRData(), prepare(), SGPRSpillBuilder(), and SGPRSpillBuilder().
| MachineBasicBlock* llvm::SGPRSpillBuilder::MBB |
Definition at line 128 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), readWriteTmpVGPR(), restore(), llvm::SIRegisterInfo::restoreSGPR(), setMI(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| MachineFunction& llvm::SGPRSpillBuilder::MF |
Definition at line 129 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), readWriteTmpVGPR(), setMI(), SGPRSpillBuilder(), and llvm::SIRegisterInfo::spillSGPR().
| SIMachineFunctionInfo& llvm::SGPRSpillBuilder::MFI |
Definition at line 130 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), llvm::SIRegisterInfo::restoreSGPR(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| MachineBasicBlock::iterator llvm::SGPRSpillBuilder::MI |
Definition at line 107 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), readWriteTmpVGPR(), restore(), setMI(), SGPRSpillBuilder(), and SGPRSpillBuilder().
| unsigned llvm::SGPRSpillBuilder::MovOpc |
Definition at line 135 of file SIRegisterInfo.cpp.
Referenced by prepare(), restore(), and SGPRSpillBuilder().
| unsigned llvm::SGPRSpillBuilder::NotOpc |
Definition at line 136 of file SIRegisterInfo.cpp.
Referenced by prepare(), readWriteTmpVGPR(), restore(), and SGPRSpillBuilder().
| unsigned llvm::SGPRSpillBuilder::NumSubRegs |
Definition at line 109 of file SIRegisterInfo.cpp.
Referenced by getPerVGPRData(), llvm::SIRegisterInfo::restoreSGPR(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| RegScavenger* llvm::SGPRSpillBuilder::RS |
Definition at line 127 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), readWriteTmpVGPR(), restore(), SGPRSpillBuilder(), and SGPRSpillBuilder().
| Register llvm::SGPRSpillBuilder::SavedExecReg = AMDGPU::NoRegister |
Definition at line 122 of file SIRegisterInfo.cpp.
Referenced by prepare(), readWriteTmpVGPR(), and restore().
| ArrayRef<int16_t> llvm::SGPRSpillBuilder::SplitParts |
Definition at line 108 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| Register llvm::SGPRSpillBuilder::SuperReg |
Definition at line 106 of file SIRegisterInfo.cpp.
Referenced by prepare(), llvm::SIRegisterInfo::restoreSGPR(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| const SIInstrInfo& llvm::SGPRSpillBuilder::TII |
Definition at line 131 of file SIRegisterInfo.cpp.
Referenced by prepare(), readWriteTmpVGPR(), restore(), llvm::SIRegisterInfo::restoreSGPR(), SGPRSpillBuilder(), SGPRSpillBuilder(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| Register llvm::SGPRSpillBuilder::TmpVGPR = AMDGPU::NoRegister |
Definition at line 116 of file SIRegisterInfo.cpp.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), prepare(), restore(), llvm::SIRegisterInfo::restoreSGPR(), llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
| int llvm::SGPRSpillBuilder::TmpVGPRIndex = 0 |
Definition at line 118 of file SIRegisterInfo.cpp.
| bool llvm::SGPRSpillBuilder::TmpVGPRLive = false |
Definition at line 120 of file SIRegisterInfo.cpp.
| const SIRegisterInfo& llvm::SGPRSpillBuilder::TRI |
Definition at line 132 of file SIRegisterInfo.cpp.
Referenced by prepare(), readWriteTmpVGPR(), restore(), SGPRSpillBuilder(), SGPRSpillBuilder(), and llvm::SIRegisterInfo::spillSGPR().