File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff 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+
10121038declare void @use (i1 )
10131039declare void @llvm.dbg.value (metadata , metadata , metadata )
10141040
You can’t perform that action at this time.
0 commit comments