Skip to content

Commit 008e3a0

Browse files
committed
[ValueTracking] Test for trunc nuw cond in assume. (NFC)
1 parent 6c9e098 commit 008e3a0

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

llvm/test/Transforms/InstCombine/assume.ll

+26
Original file line numberDiff line numberDiff line change
@@ -1009,6 +1009,32 @@ define i1 @not_cond_use(i8 %x) {
10091009
ret i1 %rval
10101010
}
10111011

1012+
define i1 @assume_trunc_nuw_eq_one(i8 %x) {
1013+
; CHECK-LABEL: @assume_trunc_nuw_eq_one(
1014+
; CHECK-NEXT: [[A:%.*]] = trunc nuw i8 [[X:%.*]] to i1
1015+
; CHECK-NEXT: call void @llvm.assume(i1 [[A]])
1016+
; CHECK-NEXT: [[Q:%.*]] = icmp eq i8 [[X]], 1
1017+
; CHECK-NEXT: ret i1 [[Q]]
1018+
;
1019+
%a = trunc nuw i8 %x to i1
1020+
call void @llvm.assume(i1 %a)
1021+
%q = icmp eq i8 %x, 1
1022+
ret i1 %q
1023+
}
1024+
1025+
define i1 @neg_assume_trunc_eq_one(i8 %x) {
1026+
; CHECK-LABEL: @neg_assume_trunc_eq_one(
1027+
; CHECK-NEXT: [[A:%.*]] = trunc i8 [[X:%.*]] to i1
1028+
; CHECK-NEXT: call void @llvm.assume(i1 [[A]])
1029+
; CHECK-NEXT: [[Q:%.*]] = icmp eq i8 [[X]], 1
1030+
; CHECK-NEXT: ret i1 [[Q]]
1031+
;
1032+
%a = trunc i8 %x to i1
1033+
call void @llvm.assume(i1 %a)
1034+
%q = icmp eq i8 %x, 1
1035+
ret i1 %q
1036+
}
1037+
10121038
declare void @use(i1)
10131039
declare void @llvm.dbg.value(metadata, metadata, metadata)
10141040

0 commit comments

Comments
 (0)