|
LLVM 24.0.0git
|
#include "SILowerSGPRSpills.h"#include "AMDGPU.h"#include "GCNSubtarget.h"#include "SIMachineFunctionInfo.h"#include "SIPreAllocateWWMRegs.h"#include "SISpillUtils.h"#include "llvm/CodeGen/LiveIntervals.h"#include "llvm/CodeGen/MachineCycleAnalysis.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/RegisterScavenging.h"#include "llvm/InitializePasses.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "si-lower-sgpr-spills" |
Typedefs | |
| using | MBBVector = SmallVector<MachineBasicBlock *, 4> |
Functions | |
| INITIALIZE_PASS_BEGIN (SILowerSGPRSpillsLegacy, DEBUG_TYPE, "SI lower SGPR spill instructions", false, false) INITIALIZE_PASS_END(SILowerSGPRSpillsLegacy | |
| static void | insertCSRSaves (const GCNSubtarget &ST, 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 |
| #define DEBUG_TYPE "si-lower-sgpr-spills" |
Definition at line 33 of file SILowerSGPRSpills.cpp.
| using MBBVector = SmallVector<MachineBasicBlock *, 4> |
Definition at line 35 of file SILowerSGPRSpills.cpp.
| INITIALIZE_PASS_BEGIN | ( | SILowerSGPRSpillsLegacy | , |
| DEBUG_TYPE | , | ||
| "SI lower SGPR spill instructions" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
|
static |
Insert restore code for the callee-saved registers used in the function.
Definition at line 146 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.
|
static |
Insert spill code for the callee-saved registers used in the function.
Definition at line 125 of file SILowerSGPRSpills.cpp.
References assert(), const, I, insertCSRSaves(), llvm::TargetFrameLowering::spillCalleeSavedRegisters(), Success, and TRI.
|
static |
Definition at line 225 of file SILowerSGPRSpills.cpp.
References llvm::MachineBasicBlock::addLiveIn(), llvm::MachineFunction::front(), and llvm::MachineBasicBlock::sortUniqueLiveIns().
| DEBUG_TYPE |
Definition at line 119 of file SILowerSGPRSpills.cpp.
Definition at line 120 of file SILowerSGPRSpills.cpp.
Definition at line 120 of file SILowerSGPRSpills.cpp.