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 |