1 # Make sure we don't try to combine counters with the same function 2 # name and a matching hash if the number of counters differs 3 4 # RUN: llvm-profdata merge %s -o %t.profdata 2>&1 | FileCheck -check-prefix=MERGE_ERRS %s 5 # RUN: llvm-profdata show %t.profdata -all-functions -counts > %t.out 6 # RUN: FileCheck %s -input-file %t.out 7 foo 8 1024 9 4 10 1 11 2 12 4 13 8 14 15 # The hash matches, but we can't combine these because the number of 16 # counters differs. 17 # MERGE_ERRS: count-mismatch.proftext: foo: Function basic block count change detected (counter mismatch) 18 # MERGE_ERRS: Make sure that all profile data to be merged is generated from the same binary. 19 foo 20 1024 21 3 22 2 23 4 24 8 25 26 # This one does match, so it should combine with the first just fine. 27 # CHECK: Hash: 0x{{0+}}400 28 # CHECK-NEXT: Counters: 4 29 # CHECK-NEXT: Function count: 5 30 # CHECK-NEXT: Block counts: [10, 20, 40] 31 foo 32 1024 33 4 34 4 35 8 36 16 37 32 38 39 # CHECK: Total functions: 1 40 # CHECK: Maximum function count: 5 41 # CHECK: Maximum internal block count: 40 42