[llvm] 6780181 - [ConstProp] add tests for vector reductions of poison; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 29 09:21:57 PDT 2021


Author: Sanjay Patel
Date: 2021-04-29T12:20:59-04:00
New Revision: 678018138d15827dc4ffb138f2d73b5dc7c3eb38

URL: https://github.com/llvm/llvm-project/commit/678018138d15827dc4ffb138f2d73b5dc7c3eb38
DIFF: https://github.com/llvm/llvm-project/commit/678018138d15827dc4ffb138f2d73b5dc7c3eb38.diff

LOG: [ConstProp] add tests for vector reductions of poison; NFC

Added: 
    

Modified: 
    llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll b/llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
index a2bc86c9ac665..877a2ad295802 100644
--- a/llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
+++ b/llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
@@ -71,6 +71,15 @@ define i32 @add_undef1() {
   ret i32 %x
 }
 
+define i32 @add_poison() {
+; CHECK-LABEL: @add_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.add.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.add.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 
 define i32 @mul_0() {
@@ -123,6 +132,15 @@ define i32 @mul_undef1() {
   ret i32 %x
 }
 
+define i32 @mul_poison() {
+; CHECK-LABEL: @mul_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.mul.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.mul.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @and_0() {
 ; CHECK-LABEL: @and_0(
@@ -174,6 +192,15 @@ define i32 @and_undef1() {
   ret i32 %x
 }
 
+define i32 @and_poison() {
+; CHECK-LABEL: @and_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.and.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.and.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @or_0() {
 ; CHECK-LABEL: @or_0(
@@ -225,6 +252,15 @@ define i32 @or_undef1() {
   ret i32 %x
 }
 
+define i32 @or_poison() {
+; CHECK-LABEL: @or_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.or.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.or.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @xor_0() {
 ; CHECK-LABEL: @xor_0(
@@ -276,6 +312,15 @@ define i32 @xor_undef1() {
   ret i32 %x
 }
 
+define i32 @xor_poison() {
+; CHECK-LABEL: @xor_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.xor.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.xor.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @smin_0() {
 ; CHECK-LABEL: @smin_0(
@@ -327,6 +372,15 @@ define i32 @smin_undef1() {
   ret i32 %x
 }
 
+define i32 @smin_poison() {
+; CHECK-LABEL: @smin_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.smin.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.smin.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @smax_0() {
 ; CHECK-LABEL: @smax_0(
@@ -378,6 +432,15 @@ define i32 @smax_undef1() {
   ret i32 %x
 }
 
+define i32 @smax_poison() {
+; CHECK-LABEL: @smax_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.smax.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.smax.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @umin_0() {
 ; CHECK-LABEL: @umin_0(
@@ -429,6 +492,15 @@ define i32 @umin_undef1() {
   ret i32 %x
 }
 
+define i32 @umin_poison() {
+; CHECK-LABEL: @umin_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.umin.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.umin.v8i32(<8 x i32> poison)
+  ret i32 %x
+}
+
 
 define i32 @umax_0() {
 ; CHECK-LABEL: @umax_0(
@@ -479,3 +551,12 @@ define i32 @umax_undef1d() {
   %x = call i32 @llvm.vector.reduce.umax.v8i32(<8 x i32> <i32 1, i32 1, i32 undef, i32 1, i32 1, i32 1, i32 1, i32 1>)
   ret i32 %x
 }
+
+define i32 @umax_poison() {
+; CHECK-LABEL: @umax_poison(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @llvm.vector.reduce.umax.v8i32(<8 x i32> poison)
+; CHECK-NEXT:    ret i32 [[X]]
+;
+  %x = call i32 @llvm.vector.reduce.umax.v8i32(<8 x i32> poison)
+  ret i32 %x
+}


        


More information about the llvm-commits mailing list