[llvm] 1e5f336 - [SCCP] Run test with both ipsccp and sccp (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 26 06:09:43 PDT 2024


Author: Nikita Popov
Date: 2024-08-26T15:09:33+02:00
New Revision: 1e5f336a72cc11ac0908dbe472c3a378c662053f

URL: https://github.com/llvm/llvm-project/commit/1e5f336a72cc11ac0908dbe472c3a378c662053f
DIFF: https://github.com/llvm/llvm-project/commit/1e5f336a72cc11ac0908dbe472c3a378c662053f.diff

LOG: [SCCP] Run test with both ipsccp and sccp (NFC)

Added: 
    

Modified: 
    llvm/test/Transforms/SCCP/range-attribute.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/SCCP/range-attribute.ll b/llvm/test/Transforms/SCCP/range-attribute.ll
index 209c5464ccf221..4a72c7e0d70c9c 100644
--- a/llvm/test/Transforms/SCCP/range-attribute.ll
+++ b/llvm/test/Transforms/SCCP/range-attribute.ll
@@ -1,18 +1,30 @@
 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
+; RUN: opt < %s -passes=ipsccp -S | FileCheck %s --check-prefixes=CHECK,IPSCCP
+; RUN: opt < %s -passes=sccp -S | FileCheck %s --check-prefixes=CHECK,SCCP
 
 declare void @use(i1)
 declare i32 @get_i32()
 
 define void @range_attribute(i32 range(i32 0, 10) %v) {
-; CHECK-LABEL: @range_attribute(
-; CHECK-NEXT:    call void @use(i1 true)
-; CHECK-NEXT:    [[C2:%.*]] = icmp ult i32 [[V:%.*]], 9
-; CHECK-NEXT:    call void @use(i1 [[C2]])
-; CHECK-NEXT:    call void @use(i1 false)
-; CHECK-NEXT:    [[C4:%.*]] = icmp ugt i32 [[V]], 8
-; CHECK-NEXT:    call void @use(i1 [[C4]])
-; CHECK-NEXT:    ret void
+; IPSCCP-LABEL: @range_attribute(
+; IPSCCP-NEXT:    call void @use(i1 true)
+; IPSCCP-NEXT:    [[C2:%.*]] = icmp ult i32 [[V:%.*]], 9
+; IPSCCP-NEXT:    call void @use(i1 [[C2]])
+; IPSCCP-NEXT:    call void @use(i1 false)
+; IPSCCP-NEXT:    [[C4:%.*]] = icmp ugt i32 [[V]], 8
+; IPSCCP-NEXT:    call void @use(i1 [[C4]])
+; IPSCCP-NEXT:    ret void
+;
+; SCCP-LABEL: @range_attribute(
+; SCCP-NEXT:    [[C1:%.*]] = icmp ult i32 [[V:%.*]], 10
+; SCCP-NEXT:    call void @use(i1 [[C1]])
+; SCCP-NEXT:    [[C2:%.*]] = icmp ult i32 [[V]], 9
+; SCCP-NEXT:    call void @use(i1 [[C2]])
+; SCCP-NEXT:    [[C3:%.*]] = icmp ugt i32 [[V]], 9
+; SCCP-NEXT:    call void @use(i1 [[C3]])
+; SCCP-NEXT:    [[C4:%.*]] = icmp ugt i32 [[V]], 8
+; SCCP-NEXT:    call void @use(i1 [[C4]])
+; SCCP-NEXT:    ret void
 ;
   %c1 = icmp ult i32 %v, 10
   call void @use(i1 %c1)
@@ -26,8 +38,11 @@ define void @range_attribute(i32 range(i32 0, 10) %v) {
 }
 
 define i32 @range_attribute_single(i32 range(i32 0, 1) %v) {
-; CHECK-LABEL: @range_attribute_single(
-; CHECK-NEXT:    ret i32 0
+; IPSCCP-LABEL: @range_attribute_single(
+; IPSCCP-NEXT:    ret i32 0
+;
+; SCCP-LABEL: @range_attribute_single(
+; SCCP-NEXT:    ret i32 [[V:%.*]]
 ;
   ret i32 %v
 }
@@ -82,35 +97,52 @@ define void @call_range_result() {
 }
 
 define internal i1 @ip_cmp_range_attribute(i32 %v) {
-; CHECK-LABEL: @ip_cmp_range_attribute(
-; CHECK-NEXT:    ret i1 poison
+; IPSCCP-LABEL: @ip_cmp_range_attribute(
+; IPSCCP-NEXT:    ret i1 poison
+;
+; SCCP-LABEL: @ip_cmp_range_attribute(
+; SCCP-NEXT:    [[C:%.*]] = icmp ult i32 [[V:%.*]], 10
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %c = icmp ult i32 %v, 10
   ret i1 %c
 }
 
 define i1 @ip_range_attribute(i32 range(i32 0, 10) %v) {
-; CHECK-LABEL: @ip_range_attribute(
-; CHECK-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_attribute(i32 [[V:%.*]])
-; CHECK-NEXT:    ret i1 true
+; IPSCCP-LABEL: @ip_range_attribute(
+; IPSCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_attribute(i32 [[V:%.*]])
+; IPSCCP-NEXT:    ret i1 true
+;
+; SCCP-LABEL: @ip_range_attribute(
+; SCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_attribute(i32 [[V:%.*]])
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %c = call i1 @ip_cmp_range_attribute(i32 %v)
   ret i1 %c
 }
 
 define internal i1 @ip_cmp_range_call(i32 %v) {
-; CHECK-LABEL: @ip_cmp_range_call(
-; CHECK-NEXT:    ret i1 poison
+; IPSCCP-LABEL: @ip_cmp_range_call(
+; IPSCCP-NEXT:    ret i1 poison
+;
+; SCCP-LABEL: @ip_cmp_range_call(
+; SCCP-NEXT:    [[C:%.*]] = icmp ult i32 [[V:%.*]], 10
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %c = icmp ult i32 %v, 10
   ret i1 %c
 }
 
 define i1 @ip_range_call() {
-; CHECK-LABEL: @ip_range_call(
-; CHECK-NEXT:    [[V:%.*]] = call range(i32 0, 10) i32 @get_i32()
-; CHECK-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_call(i32 [[V]])
-; CHECK-NEXT:    ret i1 true
+; IPSCCP-LABEL: @ip_range_call(
+; IPSCCP-NEXT:    [[V:%.*]] = call range(i32 0, 10) i32 @get_i32()
+; IPSCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_call(i32 [[V]])
+; IPSCCP-NEXT:    ret i1 true
+;
+; SCCP-LABEL: @ip_range_call(
+; SCCP-NEXT:    [[V:%.*]] = call range(i32 0, 10) i32 @get_i32()
+; SCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_call(i32 [[V]])
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %v = call range(i32 0, 10) i32 @get_i32()
   %c = call i1 @ip_cmp_range_call(i32 %v)
@@ -118,18 +150,27 @@ define i1 @ip_range_call() {
 }
 
 define internal i1 @ip_cmp_range_result(i32 %v) {
-; CHECK-LABEL: @ip_cmp_range_result(
-; CHECK-NEXT:    ret i1 poison
+; IPSCCP-LABEL: @ip_cmp_range_result(
+; IPSCCP-NEXT:    ret i1 poison
+;
+; SCCP-LABEL: @ip_cmp_range_result(
+; SCCP-NEXT:    [[C:%.*]] = icmp ult i32 [[V:%.*]], 10
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %c = icmp ult i32 %v, 10
   ret i1 %c
 }
 
 define i1 @ip_range_result() {
-; CHECK-LABEL: @ip_range_result(
-; CHECK-NEXT:    [[V:%.*]] = call range(i32 0, 10) i32 @get_i32()
-; CHECK-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_result(i32 [[V]])
-; CHECK-NEXT:    ret i1 true
+; IPSCCP-LABEL: @ip_range_result(
+; IPSCCP-NEXT:    [[V:%.*]] = call range(i32 0, 10) i32 @get_i32()
+; IPSCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_result(i32 [[V]])
+; IPSCCP-NEXT:    ret i1 true
+;
+; SCCP-LABEL: @ip_range_result(
+; SCCP-NEXT:    [[V:%.*]] = call range(i32 0, 10) i32 @get_i32()
+; SCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_range_result(i32 [[V]])
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %v = call range(i32 0, 10) i32 @get_i32()
   %c = call i1 @ip_cmp_range_result(i32 %v)
@@ -137,17 +178,25 @@ define i1 @ip_range_result() {
 }
 
 define internal i1 @ip_cmp_with_range_attribute(i32 range(i32 0, 10) %v) {
-; CHECK-LABEL: @ip_cmp_with_range_attribute(
-; CHECK-NEXT:    ret i1 poison
+; IPSCCP-LABEL: @ip_cmp_with_range_attribute(
+; IPSCCP-NEXT:    ret i1 poison
+;
+; SCCP-LABEL: @ip_cmp_with_range_attribute(
+; SCCP-NEXT:    [[C:%.*]] = icmp eq i32 [[V:%.*]], 5
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %c = icmp eq i32 %v, 5
   ret i1 %c
 }
 
 define i1 @ip_range_attribute_constant() {
-; CHECK-LABEL: @ip_range_attribute_constant(
-; CHECK-NEXT:    [[C:%.*]] = call i1 @ip_cmp_with_range_attribute(i32 5)
-; CHECK-NEXT:    ret i1 true
+; IPSCCP-LABEL: @ip_range_attribute_constant(
+; IPSCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_with_range_attribute(i32 5)
+; IPSCCP-NEXT:    ret i1 true
+;
+; SCCP-LABEL: @ip_range_attribute_constant(
+; SCCP-NEXT:    [[C:%.*]] = call i1 @ip_cmp_with_range_attribute(i32 5)
+; SCCP-NEXT:    ret i1 [[C]]
 ;
   %c = call i1 @ip_cmp_with_range_attribute(i32 5)
   ret i1 %c


        


More information about the llvm-commits mailing list