86 lines · plain
1; RUN: rm -rf %t && mkdir %t2 3; Generate indexed profiles from text profiles4RUN: llvm-profdata merge --keep-vtable-symbols %S/Inputs/vtable-value-prof.proftext -o %t/indexed.profdata5 6; Show indexed profiles7RUN: llvm-profdata show --function=main --ic-targets --show-vtables %t/indexed.profdata | FileCheck %s --check-prefix=INDEXED8 9; Show text profiles10RUN: llvm-profdata show --function=main --ic-targets --show-vtables --text %S/Inputs/vtable-value-prof.proftext | FileCheck %s --check-prefix=ICTEXT11 12; Convert indexed profiles to its textual output and show it.13RUN: llvm-profdata merge --keep-vtable-symbols --text -o %t/text-from-indexed.proftext %t/indexed.profdata14RUN: llvm-profdata show --function=main --ic-targets --show-vtables %t/text-from-indexed.proftext | FileCheck %s --check-prefix=INDEXED15RUN: llvm-profdata show --function=main --ic-targets --show-vtables --text %t/text-from-indexed.proftext | FileCheck %s --check-prefix=ICTEXT16 17INDEXED: Counters:18INDEXED-NEXT: main:19INDEXED-NEXT: Hash: 0x0f9a16fe6d39854820INDEXED-NEXT: Counters: 221INDEXED-NEXT: Indirect Call Site Count: 222INDEXED-NEXT: Number of instrumented vtables: 223INDEXED-NEXT: Indirect Target Results:24INDEXED-NEXT: [ 0, {{.*}}vtable_prof.cc;_ZN12_GLOBAL__N_18Derived25func1Eii, 750 ] (75.00%)25INDEXED-NEXT: [ 0, _ZN8Derived15func1Eii, 250 ] (25.00%)26INDEXED-NEXT: [ 1, {{.*}}vtable_prof.cc;_ZN12_GLOBAL__N_18Derived25func2Eii, 750 ] (75.00%)27INDEXED-NEXT: [ 1, _ZN8Derived15func2Eii, 250 ] (25.00%)28INDEXED-NEXT: VTable Results:29INDEXED-NEXT: [ 0, {{.*}}vtable_prof.cc;_ZTVN12_GLOBAL__N_18Derived2E, 750 ] (75.00%)30INDEXED-NEXT: [ 0, _ZTV8Derived1, 250 ] (25.00%)31INDEXED-NEXT: [ 1, {{.*}}vtable_prof.cc;_ZTVN12_GLOBAL__N_18Derived2E, 750 ] (75.00%)32INDEXED-NEXT: [ 1, _ZTV8Derived1, 250 ] (25.00%)33INDEXED-NEXT: Instrumentation level: IR entry_first = 034INDEXED-NEXT: Functions shown: 135INDEXED-NEXT: Total functions: 636INDEXED-NEXT: Maximum function count: 100037INDEXED-NEXT: Maximum internal block count: 25038INDEXED-NEXT: Total number of blocks: 839INDEXED-NEXT: Total count: 400140INDEXED-NEXT: Statistics for indirect call sites profile:41INDEXED-NEXT: Total number of sites: 242INDEXED-NEXT: Total number of sites with values: 243INDEXED-NEXT: Total number of profiled values: 444INDEXED-NEXT: Value sites histogram:45INDEXED-NEXT: NumTargets, SiteCount46INDEXED-NEXT: 2, 247INDEXED-NEXT: Statistics for vtable profile:48INDEXED-NEXT: Total number of sites: 249INDEXED-NEXT: Total number of sites with values: 250INDEXED-NEXT: Total number of profiled values: 451INDEXED-NEXT: Value sites histogram:52INDEXED-NEXT: NumTargets, SiteCount53INDEXED-NEXT: 2, 254 55ICTEXT: :ir56ICTEXT: main57ICTEXT: # Func Hash:58ICTEXT: 112423633899235053659ICTEXT: # Num Counters:60ICTEXT: 261ICTEXT: # Counter Values:62ICTEXT: 100063ICTEXT: 164ICTEXT: # Num Value Kinds:65ICTEXT: 266ICTEXT: # ValueKind = IPVK_IndirectCallTarget:67ICTEXT: 068ICTEXT: # NumValueSites:69ICTEXT: 270ICTEXT: 271ICTEXT: {{.*}}vtable_prof.cc;_ZN12_GLOBAL__N_18Derived25func1Eii:75072ICTEXT: _ZN8Derived15func1Eii:25073ICTEXT: 274ICTEXT: {{.*}}vtable_prof.cc;_ZN12_GLOBAL__N_18Derived25func2Eii:75075ICTEXT: _ZN8Derived15func2Eii:25076ICTEXT: # ValueKind = IPVK_VTableTarget:77ICTEXT: 278ICTEXT: # NumValueSites:79ICTEXT: 280ICTEXT: 281ICTEXT: {{.*}}vtable_prof.cc;_ZTVN12_GLOBAL__N_18Derived2E:75082ICTEXT: _ZTV8Derived1:25083ICTEXT: 284ICTEXT: {{.*}}vtable_prof.cc;_ZTVN12_GLOBAL__N_18Derived2E:75085ICTEXT: _ZTV8Derived1:25086