blob: 3a3caeac0c2e3e9870ae3ef537dd2a8dba866ad7 [file] [log] [blame]
Justin Bognercf36a362014-07-29 22:29:23 +00001Some very basic tests for the multiple input cases.
2
Justin Bogneraf3001e2014-07-30 23:02:01 +00003RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-2.proftext -o %t
Justin Bognerb7aa2632014-04-18 21:48:40 +00004RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3
Justin Bogneraf3001e2014-07-30 23:02:01 +00005RUN: llvm-profdata merge %p/Inputs/foo3-2.proftext %p/Inputs/foo3-1.proftext -o %t
Justin Bognerb7aa2632014-04-18 21:48:40 +00006RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3
Justin Bognerb9bd7f82014-03-21 17:46:22 +00007FOO3: foo:
8FOO3: Counters: 3
9FOO3: Function count: 8
10FOO3: Block counts: [7, 6]
11FOO3: Total functions: 1
12FOO3: Maximum function count: 8
13FOO3: Maximum internal block count: 7
Justin Bognerec49f982014-03-12 22:00:57 +000014
Justin Bogneraf3001e2014-07-30 23:02:01 +000015RUN: llvm-profdata merge %p/Inputs/empty.proftext %p/Inputs/foo3-1.proftext -o %t
Justin Bognerb7aa2632014-04-18 21:48:40 +000016RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3EMPTY
Justin Bognerb9bd7f82014-03-21 17:46:22 +000017FOO3EMPTY: foo:
18FOO3EMPTY: Counters: 3
19FOO3EMPTY: Function count: 1
20FOO3EMPTY: Block counts: [2, 3]
21FOO3EMPTY: Total functions: 1
22FOO3EMPTY: Maximum function count: 1
23FOO3EMPTY: Maximum internal block count: 3
24
Justin Bogneraf3001e2014-07-30 23:02:01 +000025RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3bar3-1.proftext -o %t
Georgii Rymarb6d77e72020-04-15 18:28:08 +030026RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefixes=FOO3FOO3BAR3,FOO3FOO3BAR3-1
27RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefixes=FOO3FOO3BAR3,FOO3FOO3BAR3-2
Richard Smith1fd6d1f2016-03-26 02:02:59 +000028FOO3FOO3BAR3-1: foo:
29FOO3FOO3BAR3-1: Counters: 3
30FOO3FOO3BAR3-1: Function count: 3
31FOO3FOO3BAR3-1: Block counts: [5, 8]
32FOO3FOO3BAR3-2: bar:
33FOO3FOO3BAR3-2: Counters: 3
34FOO3FOO3BAR3-2: Function count: 7
35FOO3FOO3BAR3-2: Block counts: [11, 13]
Justin Bognerb9bd7f82014-03-21 17:46:22 +000036FOO3FOO3BAR3: Total functions: 2
37FOO3FOO3BAR3: Maximum function count: 7
38FOO3FOO3BAR3: Maximum internal block count: 13
39
Justin Bogneraf3001e2014-07-30 23:02:01 +000040RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/bar3-1.proftext -o %t
Georgii Rymarb6d77e72020-04-15 18:28:08 +030041RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefixes=DISJOINT,DISJOINT-1
42RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefixes=DISJOINT,DISJOINT-2
Richard Smith1fd6d1f2016-03-26 02:02:59 +000043DISJOINT-1: foo:
44DISJOINT-1: Counters: 3
45DISJOINT-1: Function count: 1
46DISJOINT-1: Block counts: [2, 3]
47DISJOINT-2: bar:
48DISJOINT-2: Counters: 3
49DISJOINT-2: Function count: 1
50DISJOINT-2: Block counts: [2, 3]
Justin Bognerb9bd7f82014-03-21 17:46:22 +000051DISJOINT: Total functions: 2
52DISJOINT: Maximum function count: 1
53DISJOINT: Maximum internal block count: 3
Vedant Kumare3a0bf52016-07-19 01:17:20 +000054
55RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
56RUN: %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
57RUN: -num-threads 2 -o %t
58RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO4
59RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
60RUN: %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
61RUN: -j 3 -o %t
62RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO4
63FOO4: foo:
64FOO4: Counters: 3
65FOO4: Function count: 4
66FOO4: Block counts: [8, 12]
67FOO4: Total functions: 1
68FOO4: Maximum function count: 4
69FOO4: Maximum internal block count: 12
70
71RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
72RUN: %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
73RUN: %p/Inputs/foo3-1.proftext -j 2 -o %t
74RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO5
75RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
76RUN: %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
77RUN: %p/Inputs/foo3-1.proftext -j 3 -o %t
78RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO5
79RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
80RUN: %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
81RUN: %p/Inputs/foo3-1.proftext -o %t
82RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO5
83RUN: llvm-profdata merge %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
84RUN: %p/Inputs/foo3-1.proftext %p/Inputs/foo3-1.proftext \
85RUN: %p/Inputs/foo3-1.proftext -j 1 -o %t
86RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO5
87FOO5: foo:
88FOO5: Counters: 3
89FOO5: Function count: 5
90FOO5: Block counts: [10, 15]
91FOO5: Total functions: 1
92FOO5: Maximum function count: 5
93FOO5: Maximum internal block count: 15