Go to the source code of this file.
|
| INITIALIZE_PASS_BEGIN (SILowerSGPRSpills, DEBUG_TYPE, "SI lower SGPR spill instructions", false, false) INITIALIZE_PASS_END(SILowerSGPRSpills |
|
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) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "si-lower-sgpr-spills" |
◆ MBBVector
◆ INITIALIZE_PASS_BEGIN()
INITIALIZE_PASS_BEGIN |
( |
SILowerSGPRSpills |
, |
|
|
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 129 of file SILowerSGPRSpills.cpp.
References assert(), 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::HexagonInstrInfo::loadRegFromStackSlot(), llvm::LiveIntervals::removeAllRegUnitsForPhysReg(), llvm::TargetFrameLowering::restoreCalleeSavedRegisters(), llvm::reverse(), TII, and TRI.
◆ insertCSRSaves()
Insert spill code for the callee-saved registers used in the function.
Definition at line 86 of file SILowerSGPRSpills.cpp.
References assert(), llvm::MachineInstrSpan::begin(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), I, MRI, llvm::TargetFrameLowering::spillCalleeSavedRegisters(), llvm::HexagonInstrInfo::storeRegToStackSlot(), TII, and TRI.
◆ updateLiveness()
◆ DEBUG_TYPE
◆ false
SI lower SGPR spill false |
◆ instructions
SI lower SGPR spill instructions |