Skip to content

Commit d4766bd

Browse files
committed
[CVP]: Add tests from rust-lang/rust#121673
1 parent 56b3222 commit d4766bd

File tree

1 file changed

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

1 file changed

+60
-0
lines changed

llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,3 +1475,63 @@ entry:
14751475
%select = select i1 %cmp1, i1 %cmp2, i1 false
14761476
ret i1 %select
14771477
}
1478+
1479+
define i1 @test_icmp_eq_on_valid_bool_range(i8 %x) {
1480+
; CHECK-LABEL: @test_icmp_eq_on_valid_bool_range(
1481+
; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i8 [[X:%.*]], 2
1482+
; CHECK-NEXT: br i1 [[TMP1]], label [[BB1:%.*]], label [[BB2:%.*]]
1483+
; CHECK: bb2:
1484+
; CHECK-NEXT: [[TMP2:%.*]] = tail call i1 @get_bool()
1485+
; CHECK-NEXT: br label [[BB3:%.*]]
1486+
; CHECK: bb1:
1487+
; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i8 [[X]], 1
1488+
; CHECK-NEXT: br label [[BB3]]
1489+
; CHECK: bb3:
1490+
; CHECK-NEXT: [[TMP4:%.*]] = phi i1 [ [[TMP3]], [[BB1]] ], [ [[TMP2]], [[BB2]] ]
1491+
; CHECK-NEXT: ret i1 [[TMP4]]
1492+
;
1493+
%1 = icmp ult i8 %x, 2
1494+
br i1 %1, label %bb1, label %bb2
1495+
1496+
bb2:
1497+
%2 = tail call i1 @get_bool()
1498+
br label %bb3
1499+
1500+
bb1:
1501+
%3 = icmp eq i8 %x, 1
1502+
br label %bb3
1503+
1504+
bb3:
1505+
%4 = phi i1 [ %3, %bb1 ], [ %2, %bb2 ]
1506+
ret i1 %4
1507+
}
1508+
1509+
define i1 @test_icmp_ne_on_valid_bool_range(i8 %x) {
1510+
; CHECK-LABEL: @test_icmp_ne_on_valid_bool_range(
1511+
; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i8 [[X:%.*]], 2
1512+
; CHECK-NEXT: br i1 [[TMP1]], label [[BB1:%.*]], label [[BB2:%.*]]
1513+
; CHECK: bb2:
1514+
; CHECK-NEXT: [[TMP2:%.*]] = tail call i1 @get_bool()
1515+
; CHECK-NEXT: br label [[BB3:%.*]]
1516+
; CHECK: bb1:
1517+
; CHECK-NEXT: [[TMP3:%.*]] = icmp ne i8 [[X]], 0
1518+
; CHECK-NEXT: br label [[BB3]]
1519+
; CHECK: bb3:
1520+
; CHECK-NEXT: [[TMP4:%.*]] = phi i1 [ [[TMP3]], [[BB1]] ], [ [[TMP2]], [[BB2]] ]
1521+
; CHECK-NEXT: ret i1 [[TMP4]]
1522+
;
1523+
%1 = icmp ult i8 %x, 2
1524+
br i1 %1, label %bb1, label %bb2
1525+
1526+
bb2:
1527+
%2 = tail call i1 @get_bool()
1528+
br label %bb3
1529+
1530+
bb1:
1531+
%3 = icmp ne i8 %x, 0
1532+
br label %bb3
1533+
1534+
bb3:
1535+
%4 = phi i1 [ %3, %bb1 ], [ %2, %bb2 ]
1536+
ret i1 %4
1537+
}

0 commit comments

Comments
 (0)