mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
e88b44e49c
Summary: Add -detailed-summary support for sample profile dump to match that of instrumentation profile. Reviewers: wmi, davidxl, hoyFB Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79291
89 lines
4.0 KiB
Plaintext
89 lines
4.0 KiB
Plaintext
# RUN: llvm-profdata merge -sparse=true %s -o %t.profdata
|
|
|
|
# RUN: llvm-profdata merge -sparse=false %s -o %t.profdata.dense
|
|
|
|
# RUN: llvm-profdata show %t.profdata --function function_count_only --counts | FileCheck %s -check-prefix=FUNC_COUNT_ONLY
|
|
function_count_only
|
|
0
|
|
1
|
|
97531
|
|
# FUNC_COUNT_ONLY: Hash: 0x{{0+$}}
|
|
# FUNC_COUNT_ONLY-NEXT: Counters: 1
|
|
# FUNC_COUNT_ONLY-NEXT: Function count: 97531
|
|
# FUNC_COUNT_ONLY-NEXT: Block counts: []
|
|
|
|
# RUN: llvm-profdata show %t.profdata.dense --function "name with spaces" --counts | FileCheck %s -check-prefix=SPACES
|
|
# RUN: llvm-profdata show %t.profdata --function "name with spaces" --counts | FileCheck %s --check-prefix=SPARSE_SPACES
|
|
name with spaces
|
|
1024
|
|
2
|
|
0
|
|
0
|
|
# SPACES: Hash: 0x{{0+}}400
|
|
# SPACES-NEXT: Counters: 2
|
|
# SPACES-NEXT: Function count: 0
|
|
# SPACES-NEXT: Block counts: [0]
|
|
# SPARSE_SPACES-NOT: Function count: 0
|
|
|
|
# RUN: llvm-profdata show %t.profdata --function large_numbers --counts | FileCheck %s -check-prefix=LARGENUM
|
|
large_numbers
|
|
4611686018427387903
|
|
6
|
|
2305843009213693952
|
|
1152921504606846976
|
|
576460752303423488
|
|
288230376151711744
|
|
144115188075855872
|
|
72057594037927936
|
|
# LARGENUM: Hash: 0x3fffffffffffffff
|
|
# LARGENUM-NEXT: Counters: 6
|
|
# LARGENUM-NEXT: Function count: 2305843009213693952
|
|
# LARGENUM-NEXT: Block counts: [1152921504606846976, 576460752303423488, 288230376151711744, 144115188075855872, 72057594037927936]
|
|
|
|
# RUN: llvm-profdata show %t.profdata.dense --function hex_hash | FileCheck %s -check-prefix=HEX-HASH
|
|
hex_hash
|
|
0x1234
|
|
1
|
|
0
|
|
# HEX-HASH: Hash: 0x0000000000001234
|
|
# HEX-HASH-NEXT: Counters: 1
|
|
|
|
# RUN: llvm-profdata show %t.profdata --function NOSUCHFUNC | FileCheck %s -check-prefix=NOSUCHFUNC
|
|
# NOSUCHFUNC-NOT: Counters:
|
|
# NOSUCHFUNC: Functions shown: 0
|
|
|
|
# RUN: llvm-profdata show %t.profdata --function _ | FileCheck %s -check-prefix=SOMEFUNCS
|
|
# RUN: llvm-profdata show %t.profdata.dense --function _ | FileCheck %s -check-prefix=SOMEFUNCS_DENSE
|
|
# SOMEFUNCS: Counters:
|
|
# SOMEFUNCS-DAG: large_numbers:
|
|
# SOMEFUNCS-DAG: function_count_only:
|
|
# SOMEFUNCS: Functions shown: 2
|
|
# SOMEFUNCS_DENSE: Functions shown: 3
|
|
|
|
# RUN: llvm-profdata show %t.profdata.dense | FileCheck %s -check-prefix=SUMMARY
|
|
# SUMMARY-NOT: Counters:
|
|
# SUMMARY-NOT: Functions shown:
|
|
# SUMMARY: Total functions: 4
|
|
# SUMMARY: Maximum function count: 2305843009213693952
|
|
# SUMMARY: Maximum internal block count: 1152921504606846976
|
|
|
|
# RUN: llvm-profdata show --detailed-summary %t.profdata.dense | FileCheck %s -check-prefix=DETAILED-SUMMARY
|
|
# DETAILED-SUMMARY: Total number of blocks: 10
|
|
# DETAILED-SUMMARY: Total count: 4539628424389557499
|
|
# DETAILED-SUMMARY: Detailed summary:
|
|
# DETAILED-SUMMARY: 3 blocks with count >= 576460752303423488 account for 80 percentage of the total counts.
|
|
# DETAILED-SUMMARY: 4 blocks with count >= 288230376151711744 account for 90 percentage of the total counts.
|
|
# DETAILED-SUMMARY: 4 blocks with count >= 288230376151711744 account for 95 percentage of the total counts.
|
|
# DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99 percentage of the total counts.
|
|
# DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99.9 percentage of the total counts.
|
|
# DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99.99 percentage of the total counts.
|
|
# DETAILED-SUMMARY: 6 blocks with count >= 72057594037927936 account for 99.999 percentage of the total counts.
|
|
|
|
# RUN: llvm-profdata show --detailed-summary --detailed-summary-cutoffs=600000 %t.profdata | FileCheck %s -check-prefix=DETAILED-SUMMARY-2
|
|
# DETAILED-SUMMARY-2: 2 blocks with count >= 1152921504606846976 account for 60 percentage of the total counts.
|
|
#
|
|
# RUN: llvm-profdata show --detailed-summary --detailed-summary-cutoffs=600000,900000,999999 %t.profdata | FileCheck %s -check-prefix=DETAILED-SUMMARY-3
|
|
# DETAILED-SUMMARY-3: 2 blocks with count >= 1152921504606846976 account for 60 percentage of the total counts.
|
|
# DETAILED-SUMMARY-3: 4 blocks with count >= 288230376151711744 account for 90 percentage of the total counts.
|
|
# DETAILED-SUMMARY-3: 6 blocks with count >= 72057594037927936 account for 99.9999 percentage of the total counts.
|