@@ -1475,3 +1475,63 @@ entry:
1475
1475
%select = select i1 %cmp1 , i1 %cmp2 , i1 false
1476
1476
ret i1 %select
1477
1477
}
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