[PATCH] D93511: [Sink] Process basic blocks with a single successor

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 07:20:28 PST 2020


arsenm added a comment.

Is there a reason to actually do this sinking? Normally the blocks would be merged anyway



================
Comment at: llvm/test/CodeGen/AMDGPU/andorbitset.ll:55
+; SI:       v_cmp_ge_f32_e64
 define void @bitset_verifier_error() local_unnamed_addr #0 {
 bb:
----------------
I think this was also to trick the dag, probably should add a conditional branch


================
Comment at: llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.ll:210
 ;GCN-NOT: s_waitcnt;
-;GCN: v_or_b32
-;GCN: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}], 0 offen
+;GCN: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}], 0 offen offset:8
 define amdgpu_ps void @s_buffer_load_index_across_bb(<4 x i32> inreg %desc, i32 %index) {
----------------
I think this was intended to check whether the divergence was correctly propagated between blocks for %tmp. It would be better to add a branch condition to keep the shift in the entry block


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93511



More information about the llvm-commits mailing list