Home | History | Annotate | Download | only in llvm-profdata
      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