Skip to content

Commit b6be53d

Browse files
committed
[ValueTracking] Test for not cond to assume (NFC)
1 parent c30a7f4 commit b6be53d

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

llvm/test/Transforms/InstCombine/assume.ll

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -977,6 +977,24 @@ define i32 @range_15_31_top27(i32 %x) {
977977
ret i32 %res
978978
}
979979

980+
define i1 @not_cond_use(i8 %x) {
981+
; CHECK-LABEL: @not_cond_use(
982+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i8 [[X:%.*]], 0
983+
; CHECK-NEXT: tail call void @use(i1 [[CMP]])
984+
; CHECK-NEXT: [[NOT:%.*]] = xor i1 [[CMP]], true
985+
; CHECK-NEXT: tail call void @llvm.assume(i1 [[NOT]])
986+
; CHECK-NEXT: [[RVAL:%.*]] = icmp eq i8 [[X]], 0
987+
; CHECK-NEXT: ret i1 [[RVAL]]
988+
;
989+
%cmp = icmp eq i8 %x, 0
990+
tail call void @use(i1 %cmp)
991+
%not = xor i1 %cmp, true
992+
tail call void @llvm.assume(i1 %not)
993+
%rval = icmp eq i8 %x, 0
994+
ret i1 %rval
995+
}
996+
997+
declare void @use(i1)
980998
declare void @llvm.dbg.value(metadata, metadata, metadata)
981999

9821000
!llvm.dbg.cu = !{!0}

0 commit comments

Comments
 (0)