Convergent functions and function parameters
SPMD semantics for GPU programs
convergent function attribute has been in LLVM for some time now to model restrictions e.g. on barrier intrinsics for GPUs. Recently, we've become aware of some additional restrictions that are required for the arguments of certain intrinsics in GPU code. The use of the
convergent attribute on function parameters has been proposed for this purpose.