LLVM  16.0.0git
Macros | Functions | Variables
AMDGPUSetWavePriority.cpp File Reference
#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "SIInstrInfo.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/Allocator.h"
Include dependency graph for AMDGPUSetWavePriority.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-set-wave-priority"
 

Functions

static bool CanLowerPriorityDirectlyInPredecessors (const MachineBasicBlock &MBB, MBBInfoSet &MBBInfos)
 
static bool isVMEMLoad (const MachineInstr &MI)
 

Variables

static cl::opt< unsigned > DefaultVALUInstsThreshold ("amdgpu-set-wave-priority-valu-insts-threshold", cl::desc("VALU instruction count threshold for adjusting wave priority"), cl::init(100), cl::Hidden)
 

Detailed Description

Pass to temporarily raise the wave priority beginning the start of the shader function until its last VMEM instructions to allow younger waves to issue their VMEM instructions as well.

Definition in file AMDGPUSetWavePriority.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-set-wave-priority"

Definition at line 27 of file AMDGPUSetWavePriority.cpp.

Function Documentation

◆ CanLowerPriorityDirectlyInPredecessors()

static bool CanLowerPriorityDirectlyInPredecessors ( const MachineBasicBlock MBB,
MBBInfoSet &  MBBInfos 
)
static

◆ isVMEMLoad()

static bool isVMEMLoad ( const MachineInstr MI)
static

Definition at line 97 of file AMDGPUSetWavePriority.cpp.

References llvm::SIInstrInfo::isVMEM(), and MI.

Variable Documentation

◆ DefaultVALUInstsThreshold

cl::opt<unsigned> DefaultVALUInstsThreshold("amdgpu-set-wave-priority-valu-insts-threshold", cl::desc("VALU instruction count threshold for adjusting wave priority"), cl::init(100), cl::Hidden)
static