Skip to content

Commit c817b4f

Browse files
committed
Pre-commit: add nsw test
1 parent b6f4baa commit c817b4f

File tree

1 file changed

+34
-0
lines changed
  • llvm/test/Transforms/CorrelatedValuePropagation

1 file changed

+34
-0
lines changed

llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1569,3 +1569,37 @@ bb3:
15691569
%6 = phi i1 [ %5, %bb1 ], [ %4, %bb2 ]
15701570
ret i1 %6
15711571
}
1572+
1573+
define i1 @test_icmp_ne_on_nsw(i8 %x) {
1574+
; CHECK-LABEL: @test_icmp_ne_on_nsw(
1575+
; CHECK-NEXT: [[TMP1:%.*]] = icmp sle i8 [[X:%.*]], 0
1576+
; CHECK-NEXT: [[TMP2:%.*]] = icmp sge i8 [[X]], -1
1577+
; CHECK-NEXT: [[TMP3:%.*]] = and i1 [[TMP1]], [[TMP2]]
1578+
; CHECK-NEXT: br i1 [[TMP3]], label [[BB1:%.*]], label [[BB2:%.*]]
1579+
; CHECK: bb2:
1580+
; CHECK-NEXT: [[TMP4:%.*]] = tail call i1 @get_bool()
1581+
; CHECK-NEXT: br label [[BB3:%.*]]
1582+
; CHECK: bb1:
1583+
; CHECK-NEXT: [[TMP5:%.*]] = trunc i8 [[X]] to i1
1584+
; CHECK-NEXT: br label [[BB3]]
1585+
; CHECK: bb3:
1586+
; CHECK-NEXT: [[TMP6:%.*]] = phi i1 [ [[TMP5]], [[BB1]] ], [ [[TMP4]], [[BB2]] ]
1587+
; CHECK-NEXT: ret i1 [[TMP6]]
1588+
;
1589+
%1 = icmp sle i8 %x, 0
1590+
%2 = icmp sge i8 %x, -1
1591+
%3 = and i1 %1, %2
1592+
br i1 %3, label %bb1, label %bb2
1593+
1594+
bb2:
1595+
%4 = tail call i1 @get_bool()
1596+
br label %bb3
1597+
1598+
bb1:
1599+
%5 = icmp eq i8 %x, -1
1600+
br label %bb3
1601+
1602+
bb3:
1603+
%6 = phi i1 [ %5, %bb1 ], [ %4, %bb2 ]
1604+
ret i1 %6
1605+
}

0 commit comments

Comments
 (0)