@@ -295,7 +295,6 @@ declare nonnull i8* @return_nonnull()
295
295
define i1 @call_attribute () {
296
296
; CHECK-LABEL: @call_attribute(
297
297
; CHECK-NEXT: [[A:%.*]] = call i8* @return_nonnull()
298
- ; CHECK-NEXT: [[CMP:%.*]] = icmp eq i8* [[A]], null
299
298
; CHECK-NEXT: br label [[EXIT:%.*]]
300
299
; CHECK: exit:
301
300
; CHECK-NEXT: ret i1 false
@@ -319,7 +318,6 @@ define i1 @umin(i32 %a, i32 %b) {
319
318
; CHECK: b_guard:
320
319
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp ult i32 [[A]], [[B]]
321
320
; CHECK-NEXT: [[MIN:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 [[B]]
322
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[MIN]], 7
323
321
; CHECK-NEXT: br label [[NEXT:%.*]]
324
322
; CHECK: next:
325
323
; CHECK-NEXT: ret i1 false
@@ -356,7 +354,6 @@ define i1 @smin(i32 %a, i32 %b) {
356
354
; CHECK: b_guard:
357
355
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp sle i32 [[A]], [[B]]
358
356
; CHECK-NEXT: [[MIN:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 [[B]]
359
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[MIN]], 7
360
357
; CHECK-NEXT: br label [[NEXT:%.*]]
361
358
; CHECK: next:
362
359
; CHECK-NEXT: ret i1 false
@@ -393,7 +390,6 @@ define i1 @smax(i32 %a, i32 %b) {
393
390
; CHECK: b_guard:
394
391
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp sge i32 [[A]], [[B]]
395
392
; CHECK-NEXT: [[MAX:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 [[B]]
396
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[MAX]], 7
397
393
; CHECK-NEXT: br label [[NEXT:%.*]]
398
394
; CHECK: next:
399
395
; CHECK-NEXT: ret i1 false
@@ -430,7 +426,6 @@ define i1 @umax(i32 %a, i32 %b) {
430
426
; CHECK: b_guard:
431
427
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp uge i32 [[A]], [[B]]
432
428
; CHECK-NEXT: [[MAX:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 [[B]]
433
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[MAX]], 7
434
429
; CHECK-NEXT: br label [[NEXT:%.*]]
435
430
; CHECK: next:
436
431
; CHECK-NEXT: ret i1 false
@@ -465,7 +460,6 @@ define i1 @clamp_low1(i32 %a) {
465
460
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp eq i32 [[A]], 5
466
461
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[A]], -1
467
462
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[SEL_CMP]], i32 5, i32 [[A]]
468
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[SEL]], 4
469
463
; CHECK-NEXT: br label [[NEXT:%.*]]
470
464
; CHECK: next:
471
465
; CHECK-NEXT: ret i1 false
@@ -497,7 +491,6 @@ define i1 @clamp_low2(i32 %a) {
497
491
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp ne i32 [[A]], 5
498
492
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[A]], -1
499
493
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 5
500
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[SEL]], 4
501
494
; CHECK-NEXT: br label [[NEXT:%.*]]
502
495
; CHECK: next:
503
496
; CHECK-NEXT: ret i1 false
@@ -529,7 +522,6 @@ define i1 @clamp_high1(i32 %a) {
529
522
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp eq i32 [[A]], 5
530
523
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[A]], 1
531
524
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[SEL_CMP]], i32 5, i32 [[A]]
532
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[SEL]], 6
533
525
; CHECK-NEXT: br label [[NEXT:%.*]]
534
526
; CHECK: next:
535
527
; CHECK-NEXT: ret i1 false
@@ -561,7 +553,6 @@ define i1 @clamp_high2(i32 %a) {
561
553
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp ne i32 [[A]], 5
562
554
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[A]], 1
563
555
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 5
564
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[SEL]], 6
565
556
; CHECK-NEXT: br label [[NEXT:%.*]]
566
557
; CHECK: next:
567
558
; CHECK-NEXT: ret i1 false
@@ -594,7 +585,6 @@ define i1 @clamp_high3(i32 %a) {
594
585
; CHECK-NEXT: [[SEL_CMP:%.*]] = icmp ne i32 [[A]], 5
595
586
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[A]], 100
596
587
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[SEL_CMP]], i32 [[A]], i32 5
597
- ; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[SEL]], 105
598
588
; CHECK-NEXT: br label [[NEXT:%.*]]
599
589
; CHECK: next:
600
590
; CHECK-NEXT: ret i1 false
@@ -821,7 +811,6 @@ define i1 @zext_unknown(i8 %a) {
821
811
; CHECK-LABEL: @zext_unknown(
822
812
; CHECK-NEXT: entry:
823
813
; CHECK-NEXT: [[A32:%.*]] = zext i8 [[A:%.*]] to i32
824
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sle i32 [[A32]], 256
825
814
; CHECK-NEXT: br label [[EXIT:%.*]]
826
815
; CHECK: exit:
827
816
; CHECK-NEXT: ret i1 true
@@ -839,7 +828,6 @@ define i1 @trunc_unknown(i32 %a) {
839
828
; CHECK-NEXT: entry:
840
829
; CHECK-NEXT: [[A8:%.*]] = trunc i32 [[A:%.*]] to i8
841
830
; CHECK-NEXT: [[A32:%.*]] = sext i8 [[A8]] to i32
842
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sle i32 [[A32]], 128
843
831
; CHECK-NEXT: br label [[EXIT:%.*]]
844
832
; CHECK: exit:
845
833
; CHECK-NEXT: ret i1 true
@@ -894,7 +882,6 @@ define i1 @and_unknown(i32 %a) {
894
882
; CHECK-LABEL: @and_unknown(
895
883
; CHECK-NEXT: entry:
896
884
; CHECK-NEXT: [[AND:%.*]] = and i32 [[A:%.*]], 128
897
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sle i32 [[AND]], 128
898
885
; CHECK-NEXT: br label [[EXIT:%.*]]
899
886
; CHECK: exit:
900
887
; CHECK-NEXT: ret i1 true
@@ -911,7 +898,6 @@ define i1 @lshr_unknown(i32 %a) {
911
898
; CHECK-LABEL: @lshr_unknown(
912
899
; CHECK-NEXT: entry:
913
900
; CHECK-NEXT: [[AND:%.*]] = lshr i32 [[A:%.*]], 30
914
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sle i32 [[AND]], 128
915
901
; CHECK-NEXT: br label [[EXIT:%.*]]
916
902
; CHECK: exit:
917
903
; CHECK-NEXT: ret i1 true
@@ -928,7 +914,6 @@ define i1 @urem_unknown(i32 %a) {
928
914
; CHECK-LABEL: @urem_unknown(
929
915
; CHECK-NEXT: entry:
930
916
; CHECK-NEXT: [[UREM:%.*]] = urem i32 [[A:%.*]], 30
931
- ; CHECK-NEXT: [[CMP:%.*]] = icmp ult i32 [[UREM]], 30
932
917
; CHECK-NEXT: br label [[EXIT:%.*]]
933
918
; CHECK: exit:
934
919
; CHECK-NEXT: ret i1 true
@@ -945,8 +930,6 @@ define i1 @srem_unknown(i32 %a) {
945
930
; CHECK-LABEL: @srem_unknown(
946
931
; CHECK-NEXT: entry:
947
932
; CHECK-NEXT: [[SREM:%.*]] = srem i32 [[A:%.*]], 30
948
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 [[SREM]], 30
949
- ; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i32 [[SREM]], -30
950
933
; CHECK-NEXT: br i1 undef, label [[EXIT1:%.*]], label [[EXIT2:%.*]]
951
934
; CHECK: exit1:
952
935
; CHECK-NEXT: ret i1 true
@@ -968,8 +951,6 @@ define i1 @sdiv_unknown(i32 %a) {
968
951
; CHECK-LABEL: @sdiv_unknown(
969
952
; CHECK-NEXT: entry:
970
953
; CHECK-NEXT: [[SREM:%.*]] = sdiv i32 [[A:%.*]], 123
971
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 [[SREM]], 17459217
972
- ; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i32 [[SREM]], -17459217
973
954
; CHECK-NEXT: br i1 undef, label [[EXIT1:%.*]], label [[EXIT2:%.*]]
974
955
; CHECK: exit1:
975
956
; CHECK-NEXT: ret i1 true
@@ -991,7 +972,6 @@ define i1 @uadd_sat_unknown(i32 %a) {
991
972
; CHECK-LABEL: @uadd_sat_unknown(
992
973
; CHECK-NEXT: entry:
993
974
; CHECK-NEXT: [[VAL:%.*]] = call i32 @llvm.uadd.sat.i32(i32 [[A:%.*]], i32 100)
994
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp uge i32 [[VAL]], 100
995
975
; CHECK-NEXT: [[CMP2:%.*]] = icmp ugt i32 [[VAL]], 100
996
976
; CHECK-NEXT: br i1 undef, label [[EXIT1:%.*]], label [[EXIT2:%.*]]
997
977
; CHECK: exit1:
@@ -1014,7 +994,6 @@ define i1 @usub_sat_unknown(i32 %a) {
1014
994
; CHECK-LABEL: @usub_sat_unknown(
1015
995
; CHECK-NEXT: entry:
1016
996
; CHECK-NEXT: [[VAL:%.*]] = call i32 @llvm.usub.sat.i32(i32 [[A:%.*]], i32 100)
1017
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp ule i32 [[VAL]], -101
1018
997
; CHECK-NEXT: [[CMP2:%.*]] = icmp ult i32 [[VAL]], -101
1019
998
; CHECK-NEXT: br i1 undef, label [[EXIT1:%.*]], label [[EXIT2:%.*]]
1020
999
; CHECK: exit1:
@@ -1037,7 +1016,6 @@ define i1 @sadd_sat_unknown(i32 %a) {
1037
1016
; CHECK-LABEL: @sadd_sat_unknown(
1038
1017
; CHECK-NEXT: entry:
1039
1018
; CHECK-NEXT: [[VAL:%.*]] = call i32 @llvm.sadd.sat.i32(i32 [[A:%.*]], i32 100)
1040
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp sge i32 [[VAL]], -2147483548
1041
1019
; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i32 [[VAL]], -2147483548
1042
1020
; CHECK-NEXT: br i1 undef, label [[EXIT1:%.*]], label [[EXIT2:%.*]]
1043
1021
; CHECK: exit1:
@@ -1060,7 +1038,6 @@ define i1 @ssub_sat_unknown(i32 %a) {
1060
1038
; CHECK-LABEL: @ssub_sat_unknown(
1061
1039
; CHECK-NEXT: entry:
1062
1040
; CHECK-NEXT: [[VAL:%.*]] = call i32 @llvm.ssub.sat.i32(i32 [[A:%.*]], i32 100)
1063
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp sle i32 [[VAL]], 2147483547
1064
1041
; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 [[VAL]], 2147483547
1065
1042
; CHECK-NEXT: br i1 undef, label [[EXIT1:%.*]], label [[EXIT2:%.*]]
1066
1043
; CHECK: exit1:
0 commit comments