File tree 1 file changed +26
-0
lines changed
llvm/test/Transforms/InstCombine
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) {
1009
1009
ret i1 %rval
1010
1010
}
1011
1011
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
+
1012
1038
declare void @use (i1 )
1013
1039
declare void @llvm.dbg.value (metadata , metadata , metadata )
1014
1040
You can’t perform that action at this time.
0 commit comments