[llvm] 0e57084 - [SLP][NFC]Add a test for reused shrink check, NFC.

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 8 06:25:09 PST 2021


Author: Alexey Bataev
Date: 2021-01-08T06:23:23-08:00
New Revision: 0e57084d0efaab215d67c81a4664e1ee0622d3f1

URL: https://github.com/llvm/llvm-project/commit/0e57084d0efaab215d67c81a4664e1ee0622d3f1
DIFF: https://github.com/llvm/llvm-project/commit/0e57084d0efaab215d67c81a4664e1ee0622d3f1.diff

LOG: [SLP][NFC]Add a test for reused shrink check, NFC.

Added: 
    

Modified: 
    llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll b/llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
index 110e1177774b..1b89c9a437a2 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
@@ -59,3 +59,49 @@ bb:
   store i32 %tmp45, i32* %tmp46, align 4
   ret void
 }
+
+define internal i32 @ipvideo_decode_block_opcode_0xD_16() {
+; CHECK-LABEL: @ipvideo_decode_block_opcode_0xD_16(
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br label [[FOR_BODY:%.*]]
+; CHECK:       for.body:
+; CHECK-NEXT:    [[TMP0:%.*]] = phi <2 x i16> [ undef, [[ENTRY:%.*]] ], [ [[TMP0]], [[IF_END:%.*]] ]
+; CHECK-NEXT:    [[SHUFFLE:%.*]] = shufflevector <2 x i16> [[TMP0]], <2 x i16> poison, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1>
+; CHECK-NEXT:    br label [[IF_END]]
+; CHECK:       if.end:
+; CHECK-NEXT:    [[ARRAYIDX11_1:%.*]] = getelementptr inbounds i16, i16* undef, i32 1
+; CHECK-NEXT:    [[ARRAYIDX11_2:%.*]] = getelementptr inbounds i16, i16* undef, i32 2
+; CHECK-NEXT:    [[ARRAYIDX11_3:%.*]] = getelementptr inbounds i16, i16* undef, i32 3
+; CHECK-NEXT:    [[ARRAYIDX11_4:%.*]] = getelementptr inbounds i16, i16* undef, i32 4
+; CHECK-NEXT:    [[ARRAYIDX11_5:%.*]] = getelementptr inbounds i16, i16* undef, i32 5
+; CHECK-NEXT:    [[ARRAYIDX11_6:%.*]] = getelementptr inbounds i16, i16* undef, i32 6
+; CHECK-NEXT:    [[ARRAYIDX11_7:%.*]] = getelementptr inbounds i16, i16* undef, i32 7
+; CHECK-NEXT:    store <8 x i16> [[SHUFFLE]], <8 x i16>* undef, align 2
+; CHECK-NEXT:    br label [[FOR_BODY]]
+;
+entry:
+  br label %for.body
+
+for.body:                                         ; preds = %if.end, %entry
+  %P.sroa.7.0 = phi i16 [ undef, %entry ], [ %P.sroa.7.0, %if.end ]
+  %P.sroa.0.0 = phi i16 [ undef, %entry ], [ %P.sroa.0.0, %if.end ]
+  br label %if.end
+
+if.end:                                           ; preds = %for.body
+  store i16 %P.sroa.0.0, i16* undef, align 2
+  %arrayidx11.1 = getelementptr inbounds i16, i16* undef, i32 1
+  store i16 %P.sroa.0.0, i16* %arrayidx11.1, align 2
+  %arrayidx11.2 = getelementptr inbounds i16, i16* undef, i32 2
+  store i16 %P.sroa.0.0, i16* %arrayidx11.2, align 2
+  %arrayidx11.3 = getelementptr inbounds i16, i16* undef, i32 3
+  store i16 %P.sroa.0.0, i16* %arrayidx11.3, align 2
+  %arrayidx11.4 = getelementptr inbounds i16, i16* undef, i32 4
+  store i16 %P.sroa.7.0, i16* %arrayidx11.4, align 2
+  %arrayidx11.5 = getelementptr inbounds i16, i16* undef, i32 5
+  store i16 %P.sroa.7.0, i16* %arrayidx11.5, align 2
+  %arrayidx11.6 = getelementptr inbounds i16, i16* undef, i32 6
+  store i16 %P.sroa.7.0, i16* %arrayidx11.6, align 2
+  %arrayidx11.7 = getelementptr inbounds i16, i16* undef, i32 7
+  store i16 %P.sroa.7.0, i16* %arrayidx11.7, align 2
+  br label %for.body
+}


        


More information about the llvm-commits mailing list