Skip to content

Commit 1fc13fb

Browse files
committed
[SimplifyCFG][profcheck] Fix artificially-failing preserve-branchweights.ll
1 parent d2f14bc commit 1fc13fb

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -858,8 +858,8 @@ define void @or_icmps_empty_metadata(i32 %x, i32 %y, ptr %p) {
858858
; CHECK-NEXT: entry:
859859
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sgt i32 [[X:%.*]], -1
860860
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
861-
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 true, i1 [[EXPENSIVE]]
862-
; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[MORE_RARE:%.*]]
861+
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 true, i1 [[EXPENSIVE]], !prof [[PROF25:![0-9]+]]
862+
; CHECK-NEXT: br i1 [[OR_COND]], label [[EXIT:%.*]], label [[MORE_RARE:%.*]], !prof [[PROF25]]
863863
; CHECK: more_rare:
864864
; CHECK-NEXT: store i8 42, ptr [[P:%.*]], align 1
865865
; CHECK-NEXT: br label [[EXIT]]
@@ -956,8 +956,8 @@ define void @and_icmps_not_that_harmful(i32 %x, i32 %y, ptr %p) {
956956
; CHECK-NEXT: entry:
957957
; CHECK-NEXT: [[EXPECTED_FALSE:%.*]] = icmp sgt i32 [[X:%.*]], -1
958958
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
959-
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF25:![0-9]+]]
960-
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF25]]
959+
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF26:![0-9]+]]
960+
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26]]
961961
; CHECK: false:
962962
; CHECK-NEXT: store i8 42, ptr [[P:%.*]], align 1
963963
; CHECK-NEXT: br label [[EXIT]]
@@ -988,8 +988,8 @@ define void @and_icmps_not_that_harmful_inverted(i32 %x, i32 %y, ptr %p) {
988988
; CHECK-NEXT: entry:
989989
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sle i32 [[X:%.*]], -1
990990
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
991-
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF25]]
992-
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF25]]
991+
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF26]]
992+
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26]]
993993
; CHECK: false:
994994
; CHECK-NEXT: store i8 42, ptr [[P:%.*]], align 1
995995
; CHECK-NEXT: br label [[EXIT]]
@@ -1019,8 +1019,8 @@ define void @and_icmps_useful(i32 %x, i32 %y, ptr %p) {
10191019
; CHECK-NEXT: entry:
10201020
; CHECK-NEXT: [[EXPECTED_TRUE:%.*]] = icmp sgt i32 [[X:%.*]], -1
10211021
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
1022-
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF26:![0-9]+]]
1023-
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26]]
1022+
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_TRUE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF27:![0-9]+]]
1023+
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF27]]
10241024
; CHECK: false:
10251025
; CHECK-NEXT: store i8 42, ptr [[P:%.*]], align 1
10261026
; CHECK-NEXT: br label [[EXIT]]
@@ -1050,8 +1050,8 @@ define void @and_icmps_useful_inverted(i32 %x, i32 %y, ptr %p) {
10501050
; CHECK-NEXT: entry:
10511051
; CHECK-NEXT: [[EXPECTED_FALSE:%.*]] = icmp sle i32 [[X:%.*]], -1
10521052
; CHECK-NEXT: [[EXPENSIVE:%.*]] = icmp eq i32 [[Y:%.*]], 0
1053-
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF26]]
1054-
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF26]]
1053+
; CHECK-NEXT: [[OR_COND:%.*]] = select i1 [[EXPECTED_FALSE]], i1 [[EXPENSIVE]], i1 false, !prof [[PROF27]]
1054+
; CHECK-NEXT: br i1 [[OR_COND]], label [[FALSE:%.*]], label [[EXIT:%.*]], !prof [[PROF27]]
10551055
; CHECK: false:
10561056
; CHECK-NEXT: store i8 42, ptr [[P:%.*]], align 1
10571057
; CHECK-NEXT: br label [[EXIT]]
@@ -1093,7 +1093,7 @@ exit:
10931093
!16 = !{!"branch_weights", i32 1, i32 99}
10941094
!17 = !{!"branch_weights", i32 98, i32 1}
10951095
!18 = !{!"branch_weights", i32 1, i32 98}
1096-
!19 = !{!"branch_weights", i32 0, i32 0}
1096+
!19 = !{!"branch_weights", i32 5, i32 7}
10971097
!20 = !{}
10981098

10991099
; .
@@ -1129,6 +1129,7 @@ exit:
11291129
; CHECK: [[PROF22]] = !{!"branch_weights", i32 197, i32 1}
11301130
; CHECK: [[PROF23]] = !{!"branch_weights", i32 100, i32 98}
11311131
; CHECK: [[PROF24]] = !{!"branch_weights", i32 101, i32 99}
1132-
; CHECK: [[PROF25]] = !{!"branch_weights", i32 1, i32 197}
1133-
; CHECK: [[PROF26]] = !{!"branch_weights", i32 99, i32 101}
1132+
; CHECK: [[PROF25]] = !{!"branch_weights", i32 17, i32 7}
1133+
; CHECK: [[PROF26]] = !{!"branch_weights", i32 1, i32 197}
1134+
; CHECK: [[PROF27]] = !{!"branch_weights", i32 99, i32 101}
11341135
;.

llvm/utils/profcheck-xfail.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1856,7 +1856,6 @@ Transforms/SimplifyCFG/merge-cond-stores.ll
18561856
Transforms/SimplifyCFG/multiple-phis.ll
18571857
Transforms/SimplifyCFG/PhiBlockMerge.ll
18581858
Transforms/SimplifyCFG/pr48641.ll
1859-
Transforms/SimplifyCFG/preserve-branchweights.ll
18601859
Transforms/SimplifyCFG/preserve-store-alignment.ll
18611860
Transforms/SimplifyCFG/rangereduce.ll
18621861
Transforms/SimplifyCFG/RISCV/select-trunc-i64.ll

0 commit comments

Comments
 (0)