Skip to content

llvm-profdata should report errors on unreasonable block counts #65416

@aeubanks

Description

@aeubanks

https://crbug.com/1473604 is a bug where a miscompile resulted in instrumented profiles having very unreasonable block counts, e.g.

% ~/src/llvm-project/out/gn/bin/llvm-profdata show  --detailed-summary /tmp/bad/default-6392451879272816540_0.profraw 
Instrumentation level: IR  entry_first = 0
Total functions: 871932
Maximum function count: 49315915
Maximum internal block count: 12297832523381840770
Total number of blocks: 4448106
Total count: 6148943734960307878
Detailed summary:
2 blocks with count >= 12297832523381840770 account for 1 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 10 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 20 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 30 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 40 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 50 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 60 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 70 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 80 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 90 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 95 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 99 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 99.9 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 99.99 percentage of the total counts.
2 blocks with count >= 12297832523381840770 account for 99.999 percentage of the total counts.
4 blocks with count >= 8727880088090 account for 99.9999 percentage of the total counts.

this would have been easier to debug if llvm-profdata reported unreasonable block counts

@huangjd (not sure who else to cc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    llvm-toolsAll llvm tools that do not have corresponding tag

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions