Skip to content
Permalink
Browse files

PGO: Make branch-weights regression test more robust.

  • Loading branch information
michaelwoerister committed Nov 26, 2019
1 parent 68785d9 commit 34fbc718d1ea6ebc6119479df46a96612c5218ae
Showing with 10 additions and 10 deletions.
  1. +10 −10 src/test/run-make-fulldeps/pgo-branch-weights/filecheck-patterns.txt
@@ -2,23 +2,23 @@
# First, establish that certain !prof labels are attached to the expected
# functions and branching instructions.

CHECK: define void @function_called_twice(i32 %c) {{.*}} !prof !29 {
CHECK: br i1 {{.*}}, label {{.*}}, label {{.*}}, !prof !30
CHECK: define void @function_called_twice(i32 %c) {{.*}} !prof [[function_called_twice_id:![0-9]+]] {
CHECK: br i1 {{.*}}, label {{.*}}, label {{.*}}, !prof [[branch_weights0:![0-9]+]]

CHECK: define void @function_called_42_times(i32 %c) {{.*}} !prof !31 {
CHECK: define void @function_called_42_times(i32 %c) {{.*}} !prof [[function_called_42_times_id:![0-9]+]] {
CHECK: switch i32 %c, label {{.*}} [
CHECK-NEXT: i32 97, label {{.*}}
CHECK-NEXT: i32 98, label {{.*}}
CHECK-NEXT: ], !prof !32
CHECK-NEXT: ], !prof [[branch_weights1:![0-9]+]]

CHECK: define void @function_called_never(i32 {{.*}} !prof !33 {
CHECK: define void @function_called_never(i32 {{.*}} !prof [[function_called_never_id:![0-9]+]] {



# Now check that those !prof tags hold the expected counts

CHECK: !29 = !{!"function_entry_count", i64 2}
CHECK: !30 = !{!"branch_weights", i32 2, i32 0}
CHECK: !31 = !{!"function_entry_count", i64 42}
CHECK: !32 = !{!"branch_weights", i32 2, i32 12, i32 28}
CHECK: !33 = !{!"function_entry_count", i64 0}
CHECK: [[function_called_twice_id]] = !{!"function_entry_count", i64 2}
CHECK: [[branch_weights0]] = !{!"branch_weights", i32 2, i32 0}
CHECK: [[function_called_42_times_id]] = !{!"function_entry_count", i64 42}
CHECK: [[branch_weights1]] = !{!"branch_weights", i32 2, i32 12, i32 28}
CHECK: [[function_called_never_id]] = !{!"function_entry_count", i64 0}

0 comments on commit 34fbc71

Please sign in to comment.
You can’t perform that action at this time.