@@ -733,10 +733,9 @@ define void @or_icmps_probably_not_harmful(i32 %x, i32 %y, i8* %p) {
733
733
; CHECK-LABEL: @or_icmps_probably_not_harmful(
734
734
; CHECK-NEXT: entry:
735
735
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sgt i32 [[X:%.*]], -1
736
- ; CHECK-NEXT: br i1 [[EXPECTED_TRUE]], label [[EXIT:%.*]], label [[RARE:%.*]], !prof [[PROF19]], !unpredictable !21
737
- ; CHECK: rare:
738
736
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
739
- ; CHECK-NEXT: br i1 [[EXPENSIVE]], label [[EXIT]], label [[FALSE:%.*]]
737
+ ; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 true, i1 [[EXPENSIVE]]
738
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF21:![0-9]+]], !unpredictable !22
740
739
; CHECK: false:
741
740
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
742
741
; CHECK-NEXT: br label [[EXIT]]
@@ -768,7 +767,7 @@ define void @or_icmps_not_that_harmful(i32 %x, i32 %y, i8* %p) {
768
767
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sgt i32 [[X:%.*]], -1
769
768
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
770
769
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 true, i1 [[EXPENSIVE]]
771
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF22 :![0-9]+]]
770
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF23 :![0-9]+]]
772
771
; CHECK: false:
773
772
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
774
773
; CHECK-NEXT: br label [[EXIT]]
@@ -800,7 +799,7 @@ define void @or_icmps_not_that_harmful_inverted(i32 %x, i32 %y, i8* %p) {
800
799
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sgt i32 [[X:%.*]], -1
801
800
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
802
801
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 true, i1 [[EXPENSIVE]]
803
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF23 :![0-9]+]]
802
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF24 :![0-9]+]]
804
803
; CHECK: false:
805
804
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
806
805
; CHECK-NEXT: br label [[EXIT]]
@@ -831,7 +830,7 @@ define void @or_icmps_useful(i32 %x, i32 %y, i8* %p) {
831
830
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sle i32 [[X:%.*]], -1
832
831
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
833
832
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 true, i1 [[EXPENSIVE]]
834
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF24 :![0-9]+]]
833
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF25 :![0-9]+]]
835
834
; CHECK: false:
836
835
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
837
836
; CHECK-NEXT: br label [[EXIT]]
@@ -862,7 +861,7 @@ define void @or_icmps_useful_inverted(i32 %x, i32 %y, i8* %p) {
862
861
; CHECK-NEXT: [[EXPECTED_FALSE:%.*]] = icmp sgt i32 [[X:%.*]], -1
863
862
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
864
863
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 true, i1 [[EXPENSIVE]]
865
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF24 ]]
864
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[FALSE:%.*]], !prof [[PROF25 ]]
866
865
; CHECK: false:
867
866
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
868
867
; CHECK-NEXT: br label [[EXIT]]
@@ -991,7 +990,7 @@ define void @and_icmps_not_that_harmful(i32 %x, i32 %y, i8* %p) {
991
990
; CHECK-NEXT: [[EXPECTED_FALSE:%.*]] = icmp sgt i32 [[X:%.*]], -1
992
991
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
993
992
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 [[EXPENSIVE]], i1 false
994
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF25 :![0-9]+]]
993
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26 :![0-9]+]]
995
994
; CHECK: false:
996
995
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
997
996
; CHECK-NEXT: br label [[EXIT]]
@@ -1023,7 +1022,7 @@ define void @and_icmps_not_that_harmful_inverted(i32 %x, i32 %y, i8* %p) {
1023
1022
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sle i32 [[X:%.*]], -1
1024
1023
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
1025
1024
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 [[EXPENSIVE]], i1 false
1026
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF25 ]]
1025
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26 ]]
1027
1026
; CHECK: false:
1028
1027
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
1029
1028
; CHECK-NEXT: br label [[EXIT]]
@@ -1054,7 +1053,7 @@ define void @and_icmps_useful(i32 %x, i32 %y, i8* %p) {
1054
1053
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sgt i32 [[X:%.*]], -1
1055
1054
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
1056
1055
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 [[EXPENSIVE]], i1 false
1057
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26 :![0-9]+]]
1056
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF27 :![0-9]+]]
1058
1057
; CHECK: false:
1059
1058
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
1060
1059
; CHECK-NEXT: br label [[EXIT]]
@@ -1085,7 +1084,7 @@ define void @and_icmps_useful_inverted(i32 %x, i32 %y, i8* %p) {
1085
1084
; CHECK-NEXT: [[EXPECTED_FALSE:%.*]] = icmp sle i32 [[X:%.*]], -1
1086
1085
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
1087
1086
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 [[EXPENSIVE]], i1 false
1088
- ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26 ]]
1087
+ ; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF27 ]]
1089
1088
; CHECK: false:
1090
1089
; CHECK-NEXT: store i8 42, i8* [[P:%.*]], align 1
1091
1090
; CHECK-NEXT: br label [[EXIT]]
@@ -1157,10 +1156,11 @@ exit:
1157
1156
; CHECK: [[PROF18]] = !{!"branch_weights", i32 8, i32 2}
1158
1157
; CHECK: [[PROF19]] = !{!"branch_weights", i32 99, i32 1}
1159
1158
; CHECK: [[PROF20]] = !{!"branch_weights", i32 1, i32 99}
1160
- ; CHECK: [[META21:![0-9]+]] = !{}
1161
- ; CHECK: [[PROF22]] = !{!"branch_weights", i32 197, i32 1}
1162
- ; CHECK: [[PROF23]] = !{!"branch_weights", i32 100, i32 98}
1163
- ; CHECK: [[PROF24]] = !{!"branch_weights", i32 101, i32 99}
1164
- ; CHECK: [[PROF25]] = !{!"branch_weights", i32 1, i32 197}
1165
- ; CHECK: [[PROF26]] = !{!"branch_weights", i32 99, i32 101}
1159
+ ; CHECK: [[PROF21]] = !{!"branch_weights", i32 199, i32 1}
1160
+ ; CHECK: [[META22:![0-9]+]] = !{}
1161
+ ; CHECK: [[PROF23]] = !{!"branch_weights", i32 197, i32 1}
1162
+ ; CHECK: [[PROF24]] = !{!"branch_weights", i32 100, i32 98}
1163
+ ; CHECK: [[PROF25]] = !{!"branch_weights", i32 101, i32 99}
1164
+ ; CHECK: [[PROF26]] = !{!"branch_weights", i32 1, i32 197}
1165
+ ; CHECK: [[PROF27]] = !{!"branch_weights", i32 99, i32 101}
1166
1166
;.
0 commit comments