LLVM 22.0.0git
AMDGPUGlobalISelDivergenceLowering.cpp File Reference

GlobalISel pass that selects divergent i1 phis as lane mask phis. More...

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-global-isel-divergence-lowering"

Functions

 INITIALIZE_PASS_BEGIN (AMDGPUGlobalISelDivergenceLowering, DEBUG_TYPE, "AMDGPU GlobalISel divergence lowering", false, false) INITIALIZE_PASS_END(AMDGPUGlobalISelDivergenceLowering

Variables

 DEBUG_TYPE
AMDGPU GlobalISel divergence lowering
AMDGPU GlobalISel divergence false

Detailed Description

GlobalISel pass that selects divergent i1 phis as lane mask phis.

Lane mask merging uses same algorithm as SDAG in SILowerI1Copies. Handles all cases of temporal divergence. For divergent non-phi i1 and uniform i1 uses outside of the cycle this pass currently depends on LCSSA to insert phis with one incoming.

Definition in file AMDGPUGlobalISelDivergenceLowering.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-global-isel-divergence-lowering"

Definition at line 26 of file AMDGPUGlobalISelDivergenceLowering.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AMDGPUGlobalISelDivergenceLowering ,
DEBUG_TYPE ,
"AMDGPU GlobalISel divergence lowering" ,
false ,
false  )

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 293 of file AMDGPUGlobalISelDivergenceLowering.cpp.

◆ false

AMDGPU GlobalISel divergence false

Definition at line 294 of file AMDGPUGlobalISelDivergenceLowering.cpp.

◆ lowering

AMDGPU GlobalISel divergence lowering

Definition at line 294 of file AMDGPUGlobalISelDivergenceLowering.cpp.