mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-15 07:59:50 +00:00
0833ccb526
Summary: This change tries to make the root cause of instrumented profile data merge failures clearer. Previous: $ llvm-profdata merge test_0.profraw test_1.profraw -o test_merged.profdata test_1.profraw: foo: Function count mismatch test_1.profraw: bar: Function count mismatch test_1.profraw: baz: Function count mismatch ... Changed: $ llvm-profdata merge test_0.profraw test_1.profraw -o test_merged.profdata test_1.profraw: foo: Function basic block count change detected (counter mismatch) Make sure that all profile data to be merged is generated from the same binary. test_1.profraw: bar: Function basic block count change detected (counter mismatch) test_1.profraw: baz: Function basic block count change detected (counter mismatch) ... Reviewers: dnovillo, davidxl, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14739 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253384 91177308-0d34-0410-b5e6-96231b3b80d8
42 lines
979 B
Plaintext
42 lines
979 B
Plaintext
# Make sure we don't try to combine counters with the same function
|
|
# name and a matching hash if the number of counters differs
|
|
|
|
# RUN: llvm-profdata merge %s -o %t.profdata 2>&1 | FileCheck -check-prefix=MERGE_ERRS %s
|
|
# RUN: llvm-profdata show %t.profdata -all-functions -counts > %t.out
|
|
# RUN: FileCheck %s -input-file %t.out
|
|
foo
|
|
1024
|
|
4
|
|
1
|
|
2
|
|
4
|
|
8
|
|
|
|
# The hash matches, but we can't combine these because the number of
|
|
# counters differs.
|
|
# MERGE_ERRS: count-mismatch.proftext: foo: Function basic block count change detected (counter mismatch)
|
|
# MERGE_ERRS: Make sure that all profile data to be merged is generated from the same binary.
|
|
foo
|
|
1024
|
|
3
|
|
2
|
|
4
|
|
8
|
|
|
|
# This one does match, so it should combine with the first just fine.
|
|
# CHECK: Hash: 0x{{0+}}400
|
|
# CHECK-NEXT: Counters: 4
|
|
# CHECK-NEXT: Function count: 5
|
|
# CHECK-NEXT: Block counts: [10, 20, 40]
|
|
foo
|
|
1024
|
|
4
|
|
4
|
|
8
|
|
16
|
|
32
|
|
|
|
# CHECK: Total functions: 1
|
|
# CHECK: Maximum function count: 5
|
|
# CHECK: Maximum internal block count: 40
|