Home | History | Annotate | Download | only in llvm-profdata
      1 # RUN: llvm-profdata merge -sparse=true %s -o %t.profdata
      2 
      3 # RUN: llvm-profdata merge -sparse=false %s -o %t.profdata.dense
      4 
      5 # RUN: llvm-profdata show %t.profdata --function function_count_only --counts | FileCheck %s -check-prefix=FUNC_COUNT_ONLY
      6 function_count_only
      7 0
      8 1
      9 97531
     10 # FUNC_COUNT_ONLY:      Hash: 0x{{0+$}}
     11 # FUNC_COUNT_ONLY-NEXT: Counters: 1
     12 # FUNC_COUNT_ONLY-NEXT: Function count: 97531
     13 # FUNC_COUNT_ONLY-NEXT: Block counts: []
     14 
     15 # RUN: llvm-profdata show %t.profdata.dense --function "name with spaces" --counts | FileCheck %s -check-prefix=SPACES
     16 # RUN: llvm-profdata show %t.profdata --function "name with spaces" --counts | FileCheck %s --check-prefix=SPARSE_SPACES
     17 name with spaces
     18 1024
     19 2
     20 0
     21 0
     22 # SPACES:      Hash: 0x{{0+}}400
     23 # SPACES-NEXT: Counters: 2
     24 # SPACES-NEXT: Function count: 0
     25 # SPACES-NEXT: Block counts: [0]
     26 # SPARSE_SPACES-NOT: Function count: 0
     27 
     28 # RUN: llvm-profdata show %t.profdata --function large_numbers --counts | FileCheck %s -check-prefix=LARGENUM
     29 large_numbers
     30 4611686018427387903
     31 6
     32 2305843009213693952
     33 1152921504606846976
     34 576460752303423488
     35 288230376151711744
     36 144115188075855872
     37 72057594037927936
     38 # LARGENUM:      Hash: 0x3fffffffffffffff
     39 # LARGENUM-NEXT: Counters: 6
     40 # LARGENUM-NEXT: Function count: 2305843009213693952
     41 # LARGENUM-NEXT: Block counts: [1152921504606846976, 576460752303423488, 288230376151711744, 144115188075855872, 72057594037927936]
     42 
     43 # RUN: llvm-profdata show %t.profdata.dense --function hex_hash | FileCheck %s -check-prefix=HEX-HASH
     44 hex_hash
     45 0x1234
     46 1
     47 0
     48 # HEX-HASH: Hash: 0x0000000000001234
     49 # HEX-HASH-NEXT: Counters: 1
     50 
     51 # RUN: llvm-profdata show %t.profdata --function NOSUCHFUNC | FileCheck %s -check-prefix=NOSUCHFUNC
     52 # NOSUCHFUNC-NOT: Counters:
     53 # NOSUCHFUNC: Functions shown: 0
     54 
     55 # RUN: llvm-profdata show %t.profdata --function _ | FileCheck %s -check-prefix=SOMEFUNCS
     56 # RUN: llvm-profdata show %t.profdata.dense --function _ | FileCheck %s -check-prefix=SOMEFUNCS_DENSE
     57 # SOMEFUNCS: Counters:
     58 # SOMEFUNCS-DAG: large_numbers:
     59 # SOMEFUNCS-DAG: function_count_only:
     60 # SOMEFUNCS: Functions shown: 2
     61 # SOMEFUNCS_DENSE: Functions shown: 3
     62 
     63 # RUN: llvm-profdata show %t.profdata.dense | FileCheck %s -check-prefix=SUMMARY
     64 # SUMMARY-NOT: Counters:
     65 # SUMMARY-NOT: Functions shown:
     66 # SUMMARY: Total functions: 4
     67 # SUMMARY: Maximum function count: 2305843009213693952
     68 # SUMMARY: Maximum internal block count: 1152921504606846976
     69 
     70 # RUN: llvm-profdata show --detailed-summary %t.profdata.dense | FileCheck %s -check-prefix=DETAILED-SUMMARY
     71 # DETAILED-SUMMARY: Detailed summary:
     72 # DETAILED-SUMMARY: Total number of blocks: 10
     73 # DETAILED-SUMMARY: Total count: 4539628424389557499
     74 # DETAILED-SUMMARY: 3 blocks with count >= 576460752303423488 account for 80 percentage of the total counts.
     75 # DETAILED-SUMMARY: 4 blocks with count >= 288230376151711744 account for 90 percentage of the total counts.
     76 # DETAILED-SUMMARY: 4 blocks with count >= 288230376151711744 account for 95 percentage of the total counts.
     77 # DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99 percentage of the total counts.
     78 # DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99.9 percentage of the total counts.
     79 # DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99.99 percentage of the total counts.
     80 # DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99.999 percentage of the total counts.
     81 
     82 # RUN: llvm-profdata show --detailed-summary --detailed-summary-cutoffs=600000 %t.profdata | FileCheck %s -check-prefix=DETAILED-SUMMARY-2
     83 # DETAILED-SUMMARY-2: 2 blocks with count >= 1152921504606846976 account for 60 percentage of the total counts.
     84 #
     85 # RUN: llvm-profdata show --detailed-summary --detailed-summary-cutoffs=600000,900000,999999 %t.profdata | FileCheck %s -check-prefix=DETAILED-SUMMARY-3
     86 # DETAILED-SUMMARY-3: 2 blocks with count >= 1152921504606846976 account for 60 percentage of the total counts.
     87 # DETAILED-SUMMARY-3: 4 blocks with count >= 288230376151711744 account for 90 percentage of the total counts.
     88 # DETAILED-SUMMARY-3: 6 blocks with count >= 72057594037927936 account for 99.9999 percentage of the total counts.
     89