| # RUN: llvm-profdata show -ic-targets -all-functions %s | FileCheck %s --check-prefixes=ICTXT,ICSUM |
| # RUN: llvm-profdata show -ic-targets -counts -text -all-functions %s | FileCheck %s --check-prefix=ICTEXT |
| # RUN: llvm-profdata merge -o %t.profdata %s |
| # RUN: llvm-profdata show -ic-targets -all-functions %t.profdata | FileCheck %s --check-prefixes=IC,ICSUM |
| |
| foo |
| # Func Hash: |
| 10 |
| # Num Counters: |
| 2 |
| # Counter Values: |
| 999000 |
| 359800 |
| |
| foo2 |
| # Func Hash: |
| 10 |
| # Num Counters: |
| 2 |
| # Counter Values: |
| 1001000 |
| 360200 |
| |
| main |
| # Func Hash: |
| 16650 |
| # Num Counters: |
| 4 |
| # Counter Values: |
| 2 |
| 2000 |
| 2000000 |
| 999000 |
| # NumValueKinds |
| 1 |
| # Value Kind IPVK_IndirectCallTarget |
| 0 |
| # NumSites |
| 3 |
| # Values for each site |
| 0 |
| 2 |
| foo:100 |
| foo2:1000 |
| 1 |
| foo2:20000 |
| |
| #ICTXT: Indirect Call Site Count: 3 |
| #ICTXT-NEXT: Indirect Target Results: |
| #ICTXT-NEXT: [ 1, foo, 100 ] (9.09%) |
| #ICTXT-NEXT: [ 1, foo2, 1000 ] (90.91%) |
| #ICTXT-NEXT: [ 2, foo2, 20000 ] (100.00%) |
| |
| #IC: Indirect Call Site Count: 3 |
| #IC-NEXT: Indirect Target Results: |
| #IC-NEXT: [ 1, foo2, 1000 ] |
| #IC-NEXT: [ 1, foo, 100 ] |
| #IC-NEXT: [ 2, foo2, 20000 ] |
| |
| #ICTEXT: foo:100 |
| #ICTEXT-NEXT: foo2:1000 |
| #ICTEXT-NEXT: 1 |
| #ICTEXT-NEXT: foo2:20000 |
| # |
| |
| bar |
| # Func Hash: |
| 10 |
| # Num Counters: |
| 2 |
| # Counter Values: |
| 999000 |
| 359800 |
| |
| #ICSUM: Statistics for indirect call sites profile: |
| #ICSUM: Total number of sites: 3 |
| #ICSUM: Total number of sites with values: 2 |
| #ICSUM: Total number of profiled values: 3 |
| #ICSUM: NumTargets, SiteCount |
| #ICSUM: 1, 1 |
| #ICSUM: 2, 1 |