Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / tools / llvm-profdata / mcdc-bitmap.test
bloba7b1b5df8c306c2247dd248ddf7729a198c5f824
1 # Test MC/DC bitmap reading and merging.
3 # Merge as profdata.
4 RUN: split-file %s %t
5 RUN: llvm-profdata merge %t/mcdc-1.proftext %t/mcdc-2.proftext -o %t.profdata
6 RUN: llvm-profdata show %t.profdata --text -all-functions | FileCheck %s --check-prefix=MCDC
7 # Merge as proftext.
8 RUN: llvm-profdata merge %t/mcdc-1.proftext %t/mcdc-2.proftext -o %t.proftext
9 RUN: llvm-profdata show %t.proftext --text -all-functions | FileCheck %s --check-prefix=MCDC
11 MCDC: # Num Bitmap Bytes:
12 MCDC-NEXT: $1
13 MCDC-NEXT: # Bitmap Byte Values:
14 MCDC-NEXT: a
15 MCDC: # Num Bitmap Bytes:
16 MCDC-NEXT: $2
17 MCDC-NEXT: # Bitmap Byte Values:
18 MCDC-NEXT: 0x29
19 MCDC-NEXT: 0x0
21 # Merge as profdata.
22 RUN: llvm-profdata merge %t/mcdc-3.proftext %t/mcdc-4.proftext -o %t.profdata
23 RUN: llvm-profdata show %t.profdata --text -all-functions | FileCheck %s --check-prefix=MCDC2
24 # Merge as proftext.
25 RUN: llvm-profdata merge %t/mcdc-3.proftext %t/mcdc-4.proftext -o %t.proftext
26 RUN: llvm-profdata show %t.proftext --text -all-functions | FileCheck %s --check-prefix=MCDC2
28 MCDC2: # Num Bitmap Bytes:
29 MCDC2-NEXT: $8
30 MCDC2-NEXT: # Bitmap Byte Values:
31 MCDC2-NEXT: 0x1
32 MCDC2-NEXT: 0x2
33 MCDC2-NEXT: 0x3
34 MCDC2-NEXT: 0xf
35 MCDC2-NEXT: 0xf
36 MCDC2-NEXT: 0xe
37 MCDC2-NEXT: 0xf
38 MCDC2-NEXT: 0xa
40 # Incompatible size mismatch.
41 RUN: llvm-profdata merge %t/mcdc-2.proftext %t/mcdc-4.proftext -o %t.profdata 2>&1 | FileCheck %s --check-prefix=MCDC3
42 # Merge as proftext
43 RUN: llvm-profdata merge %t/mcdc-2.proftext %t/mcdc-4.proftext -o %t.proftext 2>&1 | FileCheck %s --check-prefix=MCDC3
45 MCDC3: function bitmap size change detected (bitmap size mismatch)
47 # Invalid number of bitmap bytes.
48 RUN: not llvm-profdata merge %t/mcdc-3.proftext %t/mcdc-err0.proftext -o %t.proftext 2>&1 | FileCheck %s --check-prefix=MCDC4
50 MCDC4: malformed instrumentation profile data: number of bitmap bytes is not a valid integer
52 # Invalid bitmap byte.
53 RUN: not llvm-profdata merge %t/mcdc-3.proftext %t/mcdc-err1.proftext -o %t.proftext 2>&1 | FileCheck %s --check-prefix=MCDC5
55 MCDC5: malformed instrumentation profile data: bitmap byte is not a valid integer
57 ;--- mcdc-1.proftext
58 main
59 # Func Hash:
60 702755447896
61 # Num Counters:
63 # Counter Values:
68 # Num Bitmask Bytes:
70 # Bitmask Byte Values:
72 ;--- mcdc-2.proftext
73 main
74 # Func Hash:
75 702755447896
76 # Num Counters:
78 # Counter Values:
83 # Num Bitmask Bytes:
85 # Bitmask Byte Values:
89 test3
90 # Func Hash:
91 15288018065
92 # Num Counters:
94 # Counter Values:
101 # Num Bitmask Bytes:
102 $0x2
103 # Bitmask Byte Values:
104 0x29
106 ;--- mcdc-3.proftext
107 test3
108 # Func Hash:
109 15288018065
110 # Num Counters:
112 # Counter Values:
119 # Num Bitmask Bytes:
121 # Bitmask Byte Values:
130 ;--- mcdc-4.proftext
131 test3
132 # Func Hash:
133 15288018065
134 # Num Counters:
136 # Counter Values:
143 # Num Bitmask Bytes:
144 $       8
145 # Bitmask Byte Values:
154 ;--- mcdc-err0.proftext
155 test3
156 # Func Hash:
157 15288018065
158 # Num Counters:
160 # Counter Values:
167 # Num Bitmask Bytes:
168 $8.9
169 # Bitmask Byte Values:
178 ;--- mcdc-err1.proftext
179 test3
180 # Func Hash:
181 15288018065
182 # Num Counters:
184 # Counter Values:
191 # Num Bitmask Bytes:
193 # Bitmask Byte Values: