LLVM: lib/Target/AMDGPU/SILowerSGPRSpills.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "si-lower-sgpr-spills"
Functions
INITIALIZE_PASS_BEGIN (SILowerSGPRSpillsLegacy, DEBUG_TYPE, "SI lower SGPR spill instructions", false, false) INITIALIZE_PASS_END(SILowerSGPRSpillsLegacy
static bool isLiveIntoMBB (MCRegister Reg, MachineBasicBlock &MBB, const TargetRegisterInfo *TRI)
static void insertCSRSaves (MachineBasicBlock &SaveBlock, ArrayRef< CalleeSavedInfo > CSI, SlotIndexes *Indexes, LiveIntervals *LIS)
Insert spill code for the callee-saved registers used in the function.
static void insertCSRRestores (MachineBasicBlock &RestoreBlock, MutableArrayRef< CalleeSavedInfo > CSI, SlotIndexes *Indexes, LiveIntervals *LIS)
Insert restore code for the callee-saved registers used in the function.
static void updateLiveness (MachineFunction &MF, ArrayRef< CalleeSavedInfo > CSI)
Variables
DEBUG_TYPE
SI lower SGPR spill instructions
SI lower SGPR spill false

DEBUG_TYPE

#define DEBUG_TYPE "si-lower-sgpr-spills"

MBBVector

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( SILowerSGPRSpillsLegacy ,
DEBUG_TYPE ,
"SI lower SGPR spill instructions" ,
false ,
false )

insertCSRRestores()

Insert restore code for the callee-saved registers used in the function.

Definition at line 162 of file SILowerSGPRSpills.cpp.

References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineBasicBlock::getParent(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), I, llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::LiveIntervals::removeAllRegUnitsForPhysReg(), llvm::SlotIndexes::repairIndexesInRange(), llvm::TargetFrameLowering::restoreCalleeSavedRegister(), llvm::TargetFrameLowering::restoreCalleeSavedRegisters(), llvm::reverse(), TII, and TRI.

insertCSRSaves()

Insert spill code for the callee-saved registers used in the function.

Definition at line 114 of file SILowerSGPRSpills.cpp.

References assert(), llvm::MachineBasicBlock::begin(), llvm::MachineInstrSpan::begin(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), I, llvm::SlotIndexes::insertMachineInstrInMaps(), isLiveIntoMBB(), Reg, llvm::LiveIntervals::removeAllRegUnitsForPhysReg(), llvm::SlotIndexes::repairIndexesInRange(), llvm::TargetFrameLowering::spillCalleeSavedRegisters(), and TII.

isLiveIntoMBB()

updateLiveness()

DEBUG_TYPE

false

SI lower SGPR spill false

instructions

SI lower SGPR spill instructions