[PATCH] D49928: [SLP] Fix PR38339: Instruction does not dominate all uses!

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 30 11:12:19 PDT 2018


spatel added a reviewer: dtemirbulatov.
spatel added a comment.

Someone more familiar with SLP should take a look, but this seems ok to me.

The testcase can be simplified to a single BB:

  define void @f1(<2 x i16> %x, i16* %a) {
    %t2 = extractelement <2 x i16> %x, i32 0
    %t3 = extractelement <2 x i16> %x, i32 1
    %ptr0 = getelementptr inbounds [4 x i16], [4 x i16]* undef, i16 0, i16 0
    %ptr1 = getelementptr inbounds [4 x i16], [4 x i16]* undef, i16 0, i16 1
    %ptr2 = getelementptr inbounds [4 x i16], [4 x i16]* undef, i16 0, i16 2
    %ptr3 = getelementptr inbounds [4 x i16], [4 x i16]* undef, i16 0, i16 3
    store i16 %t2, i16* %a
    store i16 %t2, i16* %ptr0
    store i16 %t3, i16* %ptr1
    store i16 %t3, i16* %ptr2
    store i16 %t2, i16* %ptr3
    ret void
  }


Repository:
  rL LLVM

https://reviews.llvm.org/D49928





More information about the llvm-commits mailing list