[llvm] [AMDGPU] Introduce "amdgpu-uniform-intrinsic-combine" pass to combine uniform AMDGPU lane Intrinsics. (PR #116953)
Sameer Sahasrabuddhe via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 11 19:56:26 PDT 2025
ssahasra wrote:
> It's true that this pass has transforms that can lead to a situation where some instruction whose operand was previously recognized as statically uniform is later on no longer recognized as statically uniform. However, the semantics of how programs execute don't (and must not, for this precise reason[0]) care about static uniformity, they only ever care about dynamic uniformity. And every instruction that's downstream and cares about dynamic uniformity must be convergent (and isel will introduce v_readfirstlane for them if their operands can't be proven statically uniform).
I think this is the text that should be put at the top of the pass. What @PankajDwivedi-25 has inserted right now is not a very coherent summary of the proof. It will just lead to a lot of confusion.
https://github.com/llvm/llvm-project/pull/116953
More information about the llvm-commits
mailing list