Go to the source code of this file.
|
| STATISTIC (NumAllocations, "Number of frame indices allocated into local block") |
|
| STATISTIC (NumBaseRegisters, "Number of virtual frame base registers allocated") |
|
| STATISTIC (NumReplacements, "Number of frame indices references replaced") |
|
| INITIALIZE_PASS (LocalStackSlotPass, DEBUG_TYPE, "Local Stack Slot Allocation", false, false) bool LocalStackSlotPass |
|
static bool | lookupCandidateBaseReg (unsigned BaseReg, int64_t BaseOffset, int64_t FrameSizeAdjust, int64_t LocalFrameOffset, const MachineInstr &MI, const TargetRegisterInfo *TRI) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "localstackalloc" |
◆ INITIALIZE_PASS()
Definition at line 110 of file LocalStackSlotAllocation.cpp.
References AdjustStackOffset(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, AssignProtectedObjSet(), llvm::SetVector< T, Vector, Set >::begin(), llvm::SmallSet< T, N, C >::count(), llvm::dbgs(), E, llvm::SetVector< T, Vector, Set >::end(), llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineFrameInfo::getObjectSSPLayout(), llvm::TargetFrameLowering::getStackGrowthDirection(), llvm::MachineFrameInfo::getStackProtectorIndex(), llvm::MachineFunction::getSubtarget(), I, llvm::SetVector< T, Vector, Set >::insert(), llvm::SmallSet< T, N, C >::insert(), llvm::MachineFrameInfo::isDeadObjectIndex(), LLVM_DEBUG, llvm_unreachable, llvm::MachineFrameInfo::mapLocalFrameObject(), llvm::max(), llvm::TargetRegisterInfo::requiresVirtualBaseRegisters(), llvm::SmallVectorImpl< T >::resize(), llvm::MachineFrameInfo::setLocalFrameMaxAlign(), llvm::MachineFrameInfo::setLocalFrameSize(), llvm::MachineFrameInfo::setUseLocalStackAllocationBlock(), llvm::MachineFrameInfo::SSPLK_AddrOf, llvm::MachineFrameInfo::SSPLK_LargeArray, llvm::MachineFrameInfo::SSPLK_None, llvm::MachineFrameInfo::SSPLK_SmallArray, llvm::TargetFrameLowering::StackGrowsDown, and TRI.
◆ lookupCandidateBaseReg()
Definition at line 261 of file LocalStackSlotAllocation.cpp.
References assert(), llvm::dbgs(), llvm::MachineBasicBlock::front(), llvm::TargetRegisterInfo::getFrameIndexInstrOffset(), llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::MachineOperand::getIndex(), llvm::MachineFrameInfo::getLocalFrameSize(), getMachineInstr(), llvm::MachineInstr::getMF(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::TargetRegisterInfo::getPointerRegClass(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetFrameLowering::getStackGrowthDirection(), llvm::MachineFunction::getSubtarget(), llvm::MachineOperand::isFI(), llvm::TargetRegisterInfo::isFrameOffsetLegal(), llvm::MachineFrameInfo::isObjectPreAllocated(), LLVM_DEBUG, llvm::TargetRegisterInfo::materializeFrameBaseRegister(), MI, llvm::TargetRegisterInfo::needsFrameBaseReg(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::TargetRegisterInfo::resolveFrameIndex(), llvm::SmallVectorBase::size(), llvm::sort(), llvm::TargetFrameLowering::StackGrowsDown, and TRI.
◆ STATISTIC() [1/3]
STATISTIC |
( |
NumAllocations |
, |
|
|
"Number of frame indices allocated into local block" |
|
|
) |
| |
◆ STATISTIC() [2/3]
STATISTIC |
( |
NumBaseRegisters |
, |
|
|
"Number of virtual frame base registers allocated" |
|
|
) |
| |
◆ STATISTIC() [3/3]
STATISTIC |
( |
NumReplacements |
, |
|
|
"Number of frame indices references replaced" |
|
|
) |
| |