LLVM 20.0.0git
|
This file implements the GCNRegPressure class. More...
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "machine-scheduler" |
#define | PFX " " |
Variables | |
static cl::opt< bool > | UseDownwardTracker ("amdgpu-print-rp-downward", cl::desc("Use GCNDownwardRPTracker for GCNRegPressurePrinter pass"), cl::init(false), cl::Hidden) |
This file implements the GCNRegPressure class.
Definition in file GCNRegPressure.cpp.
#define DEBUG_TYPE "machine-scheduler" |
Definition at line 20 of file GCNRegPressure.cpp.
#define PFX " " |
|
static |
Definition at line 259 of file GCNRegPressure.cpp.
References llvm::SmallVectorImpl< T >::emplace_back(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::find_if(), llvm::SlotIndex::getBaseIndex(), llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getInterval(), llvm::getLiveLaneMask(), llvm::LaneBitmask::getNone(), I, MI, MRI, P, and TRI.
Referenced by llvm::GCNUpwardRPTracker::recede().
|
static |
Mostly copy/paste from CodeGen/RegisterPressure.cpp Helper to find a vreg use between two indices {PriorUseIdx, NextUseIdx}.
The query starts with a lane bitmask which gets lanes/bits removed for every use we find.
Definition at line 331 of file GCNRegPressure.cpp.
References llvm::LiveIntervals::getInstructionIndex(), llvm::LaneBitmask::getNone(), llvm::SlotIndex::getRegSlot(), InRange(), MI, MRI, llvm::LaneBitmask::none(), and TRI.
|
static |
Definition at line 246 of file GCNRegPressure.cpp.
References assert(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSubReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::Register::isVirtual(), and MRI.
Referenced by llvm::GCNDownwardRPTracker::advanceToNext(), and llvm::GCNUpwardRPTracker::recede().
|
static |
Mostly copy/paste from CodeGen/RegisterPressure.cpp.
Definition at line 300 of file GCNRegPressure.cpp.
References llvm::LaneBitmask::getAll(), llvm::LiveIntervals::getCachedRegUnit(), llvm::LiveIntervals::getInterval(), llvm::LaneBitmask::getNone(), llvm::LiveInterval::hasSubRanges(), llvm::Register::isVirtual(), MRI, and llvm::LiveInterval::subranges().
|
static |
Definition at line 767 of file GCNRegPressure.cpp.
References End, llvm::LiveInterval::hasSubRanges(), MRI, and llvm::LiveInterval::subranges().
Referenced by llvm::GCNRegPressurePrinter::runOnMachineFunction().
|
static |
Referenced by llvm::GCNRegPressurePrinter::runOnMachineFunction().