Skip to content

Commit b8a512b

Browse files
committed
[SCCP] Add test for trunc nuw range (NFC).
1 parent ca7ffaa commit b8a512b

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

llvm/test/Transforms/SCCP/conditions-ranges.ll

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,6 +1436,48 @@ if.end:
14361436
ret i32 0
14371437
}
14381438

1439+
define void @trunc_nuw_i1_dominating_icmp_ne_0(i8 %x) {
1440+
; CHECK-LABEL: @trunc_nuw_i1_dominating_icmp_ne_0(
1441+
; CHECK-NEXT: [[ICMP:%.*]] = icmp ne i8 [[X:%.*]], 0
1442+
; CHECK-NEXT: br i1 [[ICMP]], label [[BB1:%.*]], label [[BB2:%.*]]
1443+
; CHECK: bb1:
1444+
; CHECK-NEXT: [[C1:%.*]] = trunc nuw i8 [[X]] to i1
1445+
; CHECK-NEXT: call void @use(i1 [[C1]])
1446+
; CHECK-NEXT: ret void
1447+
; CHECK: bb2:
1448+
; CHECK-NEXT: ret void
1449+
;
1450+
%icmp = icmp ne i8 %x, 0
1451+
br i1 %icmp, label %bb1, label %bb2
1452+
bb1:
1453+
%c1 = trunc nuw i8 %x to i1
1454+
call void @use(i1 %c1)
1455+
ret void
1456+
bb2:
1457+
ret void
1458+
}
1459+
1460+
define void @neg_trunc_i1_dominating_icmp_ne_0(i8 %x) {
1461+
; CHECK-LABEL: @neg_trunc_i1_dominating_icmp_ne_0(
1462+
; CHECK-NEXT: [[ICMP:%.*]] = icmp ne i8 [[X:%.*]], 0
1463+
; CHECK-NEXT: br i1 [[ICMP]], label [[BB1:%.*]], label [[BB2:%.*]]
1464+
; CHECK: bb1:
1465+
; CHECK-NEXT: [[C1:%.*]] = trunc i8 [[X]] to i1
1466+
; CHECK-NEXT: call void @use(i1 [[C1]])
1467+
; CHECK-NEXT: ret void
1468+
; CHECK: bb2:
1469+
; CHECK-NEXT: ret void
1470+
;
1471+
%icmp = icmp ne i8 %x, 0
1472+
br i1 %icmp, label %bb1, label %bb2
1473+
bb1:
1474+
%c1 = trunc i8 %x to i1
1475+
call void @use(i1 %c1)
1476+
ret void
1477+
bb2:
1478+
ret void
1479+
}
1480+
14391481
define i1 @ptr_icmp_data_layout() {
14401482
; CHECK-LABEL: @ptr_icmp_data_layout(
14411483
; CHECK-NEXT: ret i1 false

0 commit comments

Comments
 (0)