Insert s_wait_alu instructions to mitigate SGPR read hazards on GFX12.
More...
Go to the source code of this file.
|
static cl::opt< bool > | GlobalEnableSGPRHazardWaits ("amdgpu-sgpr-hazard-wait", cl::init(true), cl::Hidden, cl::desc("Enable required s_wait_alu on SGPR hazards")) |
static cl::opt< bool > | GlobalCullSGPRHazardsOnFunctionBoundary ("amdgpu-sgpr-hazard-boundary-cull", cl::init(false), cl::Hidden, cl::desc("Cull hazards on function boundaries")) |
static cl::opt< bool > | GlobalCullSGPRHazardsAtMemWait ("amdgpu-sgpr-hazard-mem-wait-cull", cl::init(false), cl::Hidden, cl::desc("Cull hazards on memory waits")) |
static cl::opt< unsigned > | GlobalCullSGPRHazardsMemWaitThreshold ("amdgpu-sgpr-hazard-mem-wait-cull-threshold", cl::init(8), cl::Hidden, cl::desc("Number of tracked SGPRs before initiating hazard cull on memory " "wait")) |
Insert s_wait_alu instructions to mitigate SGPR read hazards on GFX12.
Definition in file AMDGPUWaitSGPRHazards.cpp.
◆ DEBUG_TYPE
#define DEBUG_TYPE "amdgpu-wait-sgpr-hazards" |
◆ INITIALIZE_PASS()
INITIALIZE_PASS |
( |
AMDGPUWaitSGPRHazardsLegacy | , |
|
|
DEBUG_TYPE | , |
|
|
"AMDGPU Insert waits for SGPR read hazards" | , |
|
|
false | , |
|
|
false | ) |
◆ GlobalCullSGPRHazardsAtMemWait
cl::opt< bool > GlobalCullSGPRHazardsAtMemWait("amdgpu-sgpr-hazard-mem-wait-cull", cl::init(false), cl::Hidden, cl::desc("Cull hazards on memory waits")) |
( |
"amdgpu-sgpr-hazard-mem-wait-cull" | , |
|
|
cl::init(false) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Cull hazards on memory waits") | ) |
|
static |
◆ GlobalCullSGPRHazardsMemWaitThreshold
cl::opt< unsigned > GlobalCullSGPRHazardsMemWaitThreshold("amdgpu-sgpr-hazard-mem-wait-cull-threshold", cl::init(8), cl::Hidden, cl::desc("Number of tracked SGPRs before initiating hazard cull on memory " "wait")) |
( |
"amdgpu-sgpr-hazard-mem-wait-cull-threshold" | , |
|
|
cl::init(8) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Number of tracked SGPRs before initiating hazard cull on memory " "wait") | ) |
|
static |
◆ GlobalCullSGPRHazardsOnFunctionBoundary
cl::opt< bool > GlobalCullSGPRHazardsOnFunctionBoundary("amdgpu-sgpr-hazard-boundary-cull", cl::init(false), cl::Hidden, cl::desc("Cull hazards on function boundaries")) |
( |
"amdgpu-sgpr-hazard-boundary-cull" | , |
|
|
cl::init(false) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Cull hazards on function boundaries") | ) |
|
static |
◆ GlobalEnableSGPRHazardWaits
cl::opt< bool > GlobalEnableSGPRHazardWaits("amdgpu-sgpr-hazard-wait", cl::init(true), cl::Hidden, cl::desc("Enable required s_wait_alu on SGPR hazards")) |
( |
"amdgpu-sgpr-hazard-wait" | , |
|
|
cl::init(true) | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Enable required s_wait_alu on SGPR hazards") | ) |
|
static |