Skip to content

Commit 25dcee4

Browse files
committed
[NFC] Pre commit test for fold trunc nuw X to i1 -> true IFF X != 0
1 parent 4e0ba80 commit 25dcee4

File tree

1 file changed

+48
-0
lines changed
  • llvm/test/Transforms/InstCombine

1 file changed

+48
-0
lines changed

llvm/test/Transforms/InstCombine/trunc.ll

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,3 +1124,51 @@ loop:
11241124
exit:
11251125
ret void
11261126
}
1127+
1128+
define i1 @trunc_nuw_i1_non_zero(i8 %1) {
1129+
; CHECK-LABEL: @trunc_nuw_i1_non_zero(
1130+
; CHECK-NEXT: [[TMP2:%.*]] = icmp ne i8 [[TMP0:%.*]], 0
1131+
; CHECK-NEXT: tail call void @llvm.assume(i1 [[TMP2]])
1132+
; CHECK-NEXT: [[RET:%.*]] = trunc nuw i8 [[TMP0]] to i1
1133+
; CHECK-NEXT: ret i1 [[RET]]
1134+
;
1135+
%3 = icmp ne i8 %1, 0
1136+
tail call void @llvm.assume(i1 %3)
1137+
%ret = trunc nuw i8 %1 to i1
1138+
ret i1 %ret
1139+
}
1140+
1141+
define i1 @neg_trunc_nuw_i1_maybe_zero(i8 %1) {
1142+
; CHECK-LABEL: @neg_trunc_nuw_i1_maybe_zero(
1143+
; CHECK-NEXT: [[RET:%.*]] = trunc nuw i8 [[TMP0:%.*]] to i1
1144+
; CHECK-NEXT: ret i1 [[RET]]
1145+
;
1146+
%ret = trunc nuw i8 %1 to i1
1147+
ret i1 %ret
1148+
}
1149+
1150+
define i2 @neg_trunc_nuw_i2_non_zero(i8 %1) {
1151+
; CHECK-LABEL: @neg_trunc_nuw_i2_non_zero(
1152+
; CHECK-NEXT: [[TMP2:%.*]] = icmp ne i8 [[TMP0:%.*]], 0
1153+
; CHECK-NEXT: tail call void @llvm.assume(i1 [[TMP2]])
1154+
; CHECK-NEXT: [[RET:%.*]] = trunc nuw i8 [[TMP0]] to i2
1155+
; CHECK-NEXT: ret i2 [[RET]]
1156+
;
1157+
%3 = icmp ne i8 %1, 0
1158+
tail call void @llvm.assume(i1 %3)
1159+
%ret = trunc nuw i8 %1 to i2
1160+
ret i2 %ret
1161+
}
1162+
1163+
define i1 @neg_trunc_i1_non_zero(i8 %1) {
1164+
; CHECK-LABEL: @neg_trunc_i1_non_zero(
1165+
; CHECK-NEXT: [[TMP2:%.*]] = icmp ne i8 [[TMP0:%.*]], 0
1166+
; CHECK-NEXT: tail call void @llvm.assume(i1 [[TMP2]])
1167+
; CHECK-NEXT: [[RET:%.*]] = trunc i8 [[TMP0]] to i1
1168+
; CHECK-NEXT: ret i1 [[RET]]
1169+
;
1170+
%3 = icmp ne i8 %1, 0
1171+
tail call void @llvm.assume(i1 %3)
1172+
%ret = trunc i8 %1 to i1
1173+
ret i1 %ret
1174+
}

0 commit comments

Comments
 (0)