diff options
Diffstat (limited to 'contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h')
-rw-r--r-- | contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h b/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h index 37417d0..7657b4e 100644 --- a/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h +++ b/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h @@ -14,12 +14,17 @@ namespace llvm { +class SIInstrInfo; +class SIMachineFunctionInfo; +class SIRegisterInfo; +class SISubtarget; + class SIFrameLowering final : public AMDGPUFrameLowering { public: SIFrameLowering(StackDirection D, unsigned StackAl, int LAO, unsigned TransAl = 1) : AMDGPUFrameLowering(D, StackAl, LAO, TransAl) {} - ~SIFrameLowering() override {} + ~SIFrameLowering() override = default; void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; @@ -31,10 +36,29 @@ public: RegScavenger *RS = nullptr) const override; private: + void emitFlatScratchInit(const SIInstrInfo *TII, + const SIRegisterInfo* TRI, + MachineFunction &MF, + MachineBasicBlock &MBB) const; + + unsigned getReservedPrivateSegmentBufferReg( + const SISubtarget &ST, + const SIInstrInfo *TII, + const SIRegisterInfo *TRI, + SIMachineFunctionInfo *MFI, + MachineFunction &MF) const; + + unsigned getReservedPrivateSegmentWaveByteOffsetReg( + const SISubtarget &ST, + const SIInstrInfo *TII, + const SIRegisterInfo *TRI, + SIMachineFunctionInfo *MFI, + MachineFunction &MF) const; + /// \brief Emits debugger prologue. void emitDebuggerPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const; }; -} +} // end namespace llvm -#endif +#endif // LLVM_LIB_TARGET_AMDGPU_SIFRAMELOWERING_H |