LLVM 23.0.0git
llvm::AMDGPUNextUseAnalysis Class Reference

#include "Target/AMDGPU/AMDGPUNextUseAnalysis.h"

Classes

struct  Config
struct  UseDistancePair

Public Member Functions

 AMDGPUNextUseAnalysis (AMDGPUNextUseAnalysis &&Other)
 ~AMDGPUNextUseAnalysis ()
AMDGPUNextUseAnalysisoperator= (AMDGPUNextUseAnalysis &&Other)
Config getConfig () const
void setConfig (Config)
void getReachableUses (Register LiveReg, LaneBitmask LaneMask, const MachineInstr &MI, SmallVector< const MachineOperand * > &Uses) const
NextUseDistance getShortestDistance (Register LiveReg, const MachineInstr &CurMI, const SmallVector< const MachineOperand * > &Uses, const MachineOperand **ShortestUseOut=nullptr, SmallVector< NextUseDistance > *Distances=nullptr) const
 \Returns the shortest next-use distance from CurMI for LiveReg.
void getNextUseDistances (const DenseMap< unsigned, LaneBitmask > &LiveRegs, const MachineInstr &MI, UseDistancePair &Furthest, UseDistancePair *FurthestSubreg=nullptr, DenseMap< const MachineOperand *, UseDistancePair > *RelevantUses=nullptr) const

Friends

class AMDGPUNextUseAnalysisLegacyPass
class AMDGPUNextUseAnalysisPrinterLegacyPass
class AMDGPUNextUseAnalysisPass
class AMDGPUNextUseAnalysisPrinterPass

Detailed Description

Definition at line 231 of file AMDGPUNextUseAnalysis.h.

Constructor & Destructor Documentation

◆ AMDGPUNextUseAnalysis()

AMDGPUNextUseAnalysis::AMDGPUNextUseAnalysis ( AMDGPUNextUseAnalysis && Other)

Definition at line 2213 of file AMDGPUNextUseAnalysis.cpp.

References llvm::move(), and llvm::Other.

◆ ~AMDGPUNextUseAnalysis()

AMDGPUNextUseAnalysis::~AMDGPUNextUseAnalysis ( )

Definition at line 2215 of file AMDGPUNextUseAnalysis.cpp.

Member Function Documentation

◆ getConfig()

AMDGPUNextUseAnalysis::Config AMDGPUNextUseAnalysis::getConfig ( ) const

Definition at line 2224 of file AMDGPUNextUseAnalysis.cpp.

◆ getNextUseDistances()

void AMDGPUNextUseAnalysis::getNextUseDistances ( const DenseMap< unsigned, LaneBitmask > & LiveRegs,
const MachineInstr & MI,
UseDistancePair & Furthest,
UseDistancePair * FurthestSubreg = nullptr,
DenseMap< const MachineOperand *, UseDistancePair > * RelevantUses = nullptr ) const

Definition at line 2248 of file AMDGPUNextUseAnalysis.cpp.

References MI.

◆ getReachableUses()

void AMDGPUNextUseAnalysis::getReachableUses ( Register LiveReg,
LaneBitmask LaneMask,
const MachineInstr & MI,
SmallVector< const MachineOperand * > & Uses ) const

Definition at line 2262 of file AMDGPUNextUseAnalysis.cpp.

References MI, and Uses.

◆ getShortestDistance()

NextUseDistance AMDGPUNextUseAnalysis::getShortestDistance ( Register LiveReg,
const MachineInstr & CurMI,
const SmallVector< const MachineOperand * > & Uses,
const MachineOperand ** ShortestUseOut = nullptr,
SmallVector< NextUseDistance > * Distances = nullptr ) const

\Returns the shortest next-use distance from CurMI for LiveReg.

\Returns the next-use distance for LiveReg.

Definition at line 2231 of file AMDGPUNextUseAnalysis.cpp.

References D(), llvm::LaneBitmask::getAll(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Uses.

◆ operator=()

AMDGPUNextUseAnalysis & AMDGPUNextUseAnalysis::operator= ( AMDGPUNextUseAnalysis && Other)

Definition at line 2218 of file AMDGPUNextUseAnalysis.cpp.

References llvm::Other.

◆ setConfig()

void AMDGPUNextUseAnalysis::setConfig ( Config Cfg)

Definition at line 2228 of file AMDGPUNextUseAnalysis.cpp.

◆ AMDGPUNextUseAnalysisLegacyPass

friend class AMDGPUNextUseAnalysisLegacyPass
friend

Definition at line 232 of file AMDGPUNextUseAnalysis.h.

References AMDGPUNextUseAnalysisLegacyPass.

Referenced by AMDGPUNextUseAnalysisLegacyPass.

◆ AMDGPUNextUseAnalysisPass

friend class AMDGPUNextUseAnalysisPass
friend

Definition at line 234 of file AMDGPUNextUseAnalysis.h.

References AMDGPUNextUseAnalysisPass.

Referenced by AMDGPUNextUseAnalysisPass.

◆ AMDGPUNextUseAnalysisPrinterLegacyPass

◆ AMDGPUNextUseAnalysisPrinterPass


The documentation for this class was generated from the following files: