[PATCH] D150861: [AMDGPU][Uniformity] SI_IF and SI_ELSE pseudos are always divergent

Ruiling, Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 18 18:55:26 PDT 2023


ruiling added inline comments.


================
Comment at: llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/control-flow-intrinsics.mir:33
+    ; CHECK: DIVERGENT: {{.*}} SI_ELSE
+    %2:sreg_64 = SI_ELSE %1, %bb.2, implicit-def $exec, implicit-def $scc, implicit $exec
+
----------------
Although we do not have formal specification for the IF/ELSE instructions, I still prefer to see the tests are written using the well-formed pattern. that is SI_IF/SI_END_CF and SI_IF/SI_ELSE/SI_END_CF. My original concern over the SI_IF/SI_ELSE should be divergent is for the case that PHI node in merge block should be divergent(aka. sync depends on the branch). I would like this be covered in the tests.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150861/new/

https://reviews.llvm.org/D150861



More information about the llvm-commits mailing list