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

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 10:12:14 PST 2020


MaskRay added a comment.

In D93511#2470063 <https://reviews.llvm.org/D93511#2470063>, @arsenm wrote:

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

As the llc tests show the blocks cannot always be merged. I think the main motivation is not "do sinking in this case", but rather "delete an unneeded condition".



================
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:
----------------
arsenm wrote:
> I think this was also to trick the dag, probably should add a conditional branch
The original test did not make it clear what `s_bitset0_b32` tried to check, so I arbitrarily replaced it with another instruction in the entry basic block.

I don't know AMDGPU ISA and will need help to update this test and the test below:/


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