1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
RUN: rm -rf %t && mkdir -p %t
RUN: llc %S/Inputs/stats-dump.ll -O0 --filetype=obj --cas-backend --cas %t/cas --mccas-casid -o %t/stats-dump.id
RUN: llvm-cas-dump --cas %t/cas --object-stats %t/stats.csv --object-stats-format=csv --casid-file %t/stats-dump.id
RUN: cat %t/stats.csv | FileCheck %s -check-prefix=CSV
RUN: llvm-cas-dump --cas %t/cas --object-stats - --object-stats-format=csv --casid-file %t/stats-dump.id | FileCheck %s -check-prefix=CSV
RUN: llvm-cas-dump --cas %t/cas --object-stats - --object-stats-format=pretty --casid-file %t/stats-dump.id | FileCheck %s -check-prefix=PRETTY
RUN: llvm-cas-dump --cas %t/cas --object-stats %t/statspretty.txt --object-stats-format=pretty --casid-file %t/stats-dump.id
RUN: cat %t/statspretty.txt | FileCheck %s -check-prefix=PRETTY
RUN: llvm-cas-dump --cas %t/cas --object-stats %t/stats.txt --casid-file %t/stats-dump.id --analysis-only | FileCheck %s -check-prefix=ANALYSIS-ONLY
CSV: Kind, Count, Parents, Children, Data (B), Cost (B)
CSV-NEXT: builtin:node, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: builtin:tree, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:addends, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:assembler, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:atom, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:cstring, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:data, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:data_in_code, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:group, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:header, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:merged_fragment, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:padding, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:section, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: mc:symbol_table, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV-NEXT: TOTAL, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}, {{[0-9]+}}
CSV: num-tiny-objects, {{[0-9]+}}
CSV-NEXT: sec-ref-size, {{[0-9]+}}
CSV-NEXT: atom-ref-size, {{[0-9]+}}
PRETTY: => Note: 'Parents' counts incoming edges
PRETTY-NEXT: => Note: 'Children' counts outgoing edges (to sub-objects)
PRETTY-NEXT: => Note: HashSize = {{[0-9]+}}B
PRETTY-NEXT: => Note: PtrSize = {{[0-9]+}}B
PRETTY-NEXT: => Note: Cost = Count*HashSize + PtrSize*Children + Data
PRETTY-NEXT: Kind Count Parents Children Data (B) Cost (B)
PRETTY-NEXT: ==== ===== ======= ======== ======== ========
PRETTY: builtin:node {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: builtin:tree {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:addends {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:assembler {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:atom {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:cstring {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:data {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:data_in_code {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:group {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:header {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:merged_fragment {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:padding {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:section {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: mc:symbol_table {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY-NEXT: TOTAL {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+.[0-9]+\.[0-9]+}}% {{([0-9]+,)?[0-9]+}} {{[0-9]+\.[0-9]+}}%
PRETTY: num-tiny-objects {{[0-9]+}}
PRETTY-NEXT: sec-ref-size {{[0-9]+}}
PRETTY-NEXT: atom-ref-size {{[0-9]+}}
ANALYSIS-ONLY-NOT: llvmcas://{{[0-9a-f]+}}
|