LLVM  9.0.0svn
Classes | Namespaces | Functions
GCNRegPressure.h File Reference
#include "AMDGPUSubtarget.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/Support/Debug.h"
#include <algorithm>
#include <limits>
Include dependency graph for GCNRegPressure.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  llvm::GCNRegPressure
class  llvm::GCNRPTracker
class  llvm::GCNUpwardRPTracker
class  llvm::GCNDownwardRPTracker


 This class represents lattice values for constants.


GCNRegPressure llvm::max (const GCNRegPressure &P1, const GCNRegPressure &P2)
LaneBitmask llvm::getLiveLaneMask (unsigned Reg, SlotIndex SI, const LiveIntervals &LIS, const MachineRegisterInfo &MRI)
GCNRPTracker::LiveRegSet llvm::getLiveRegs (SlotIndex SI, const LiveIntervals &LIS, const MachineRegisterInfo &MRI)
template<typename Range >
DenseMap< MachineInstr *, GCNRPTracker::LiveRegSet > llvm::getLiveRegMap (Range &&R, bool After, LiveIntervals &LIS)
 creates a map MachineInstr -> LiveRegSet R - range of iterators on instructions After - upon entry or exit of every instruction Note: there is no entry in the map for instructions with empty live reg set Complexity = O(NumVirtRegs * averageLiveRangeSegmentsPerReg * lg(R)) More...
GCNRPTracker::LiveRegSet llvm::getLiveRegsAfter (const MachineInstr &MI, const LiveIntervals &LIS)
GCNRPTracker::LiveRegSet llvm::getLiveRegsBefore (const MachineInstr &MI, const LiveIntervals &LIS)
template<typename Range >
GCNRegPressure llvm::getRegPressure (const MachineRegisterInfo &MRI, Range &&LiveRegs)
bool llvm::isEqual (const GCNRPTracker::LiveRegSet &S1, const GCNRPTracker::LiveRegSet &S2)
void llvm::printLivesAt (SlotIndex SI, const LiveIntervals &LIS, const MachineRegisterInfo &MRI)