[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