Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / Analysis / exploded-graph-rewriter / program_state_traits.dot
blob8b51beea9e0b6e7a2e4a5828c47941c47fb15bcf
1 // RUN: %exploded_graph_rewriter %s | FileCheck %s
3 // CHECK: <b>Objects Under Construction: </b>
4 // CHECK-SAME:<table border="0">
5 // CHECK-SAME: <tr>
6 // CHECK-SAME: <td></td>
7 // CHECK-SAME: <td align="left"><b>#0 Call</b></td>
8 // CHECK-SAME: <td align="left" colspan="2">
9 // CHECK-SAME: <font color="gray60">main </font>
10 // CHECK-SAME: </td>
11 // CHECK-SAME: </tr>
12 // CHECK-SAME: <tr>
13 // CHECK-SAME: <td></td>
14 // CHECK-SAME: <td align="left"><i>S870</i></td>
15 // CHECK-SAME: <td align="left">
16 // CHECK-SAME: <font color="darkgreen">
17 // CHECK-SAME: <i>(construct into local variable)</i>
18 // CHECK-SAME: </font>
19 // CHECK-SAME: </td>
20 // CHECK-SAME: <td align="left">S s;</td>
21 // CHECK-SAME: <td align="left">&amp;s</td>
22 // CHECK-SAME: </tr>
23 // CHECK-SAME:</table>
24 Node0x1 [shape=record,label=
27 "state_id": 2,
28 "program_points": [
30 "kind": "BlockEntrance", "block_id": 1,
31 "terminator": null, "term_kind": null,
32 "tag": null, "node_id": 1,
33 "has_report": 0, "is_sink": 0
36 "program_state": {
37 "store": null,
38 "environment": null,
39 "constraints": null,
40 "equivalence_classes": null,
41 "disequality_info": null,
42 "dynamic_types": null,
43 "dynamic_casts": null,
44 "constructing_objects": [
46 "lctx_id": 1, "location_context": "#0 Call", "calling": "main", "location": null, "items": [
47 { "stmt_id": 870, "kind": "construct into local variable", "argument_index": null, "pretty": "S s;", "value": "&s" }
51 "checker_messages": null
54 \l}"];
56 // CHECK: <b>Indices Of Elements Under Construction: </b>
57 // CHECK-SAME:<table border="0">
58 // CHECK-SAME: <tr>
59 // CHECK-SAME: <td></td>
60 // CHECK-SAME: <td align="left"><b>#0 Call</b></td>
61 // CHECK-SAME: <td align="left" colspan="2">
62 // CHECK-SAME: <font color="gray60">main </font>
63 // CHECK-SAME: </td>
64 // CHECK-SAME: </tr>
65 // CHECK-SAME: <tr>
66 // CHECK-SAME: <td></td>
67 // CHECK-SAME: <td align="left"><i>S895</i></td>
68 // CHECK-SAME: <td align="left">
69 // CHECK-SAME: <font color="darkgreen"><i> </i></font>
70 // CHECK-SAME: </td>
71 // CHECK-SAME: <td align="left">
72 // CHECK-SAME: CXXConstructExpr <test.cpp:8:7> 'S[2]'
73 // CHECK-SAME: </td>
74 // CHECK-SAME: <td align="left">Current index: 0</td>
75 // CHECK-SAME: </tr>
76 // CHECK-SAME:</table>
77 Node0x2 [shape=record,label=
80 "state_id": 2,
81 "program_points": [
83 "kind": "BlockEntrance", "block_id": 1,
84 "terminator": null, "term_kind": null,
85 "tag": null, "node_id": 1,
86 "has_report": 0, "is_sink": 0
89 "program_state": {
90 "store": null,
91 "environment": null,
92 "constraints": null,
93 "equivalence_classes": null,
94 "disequality_info": null,
95 "dynamic_types": null,
96 "dynamic_casts": null,
97 "index_of_element": [
99 "lctx_id": 1,
100 "location_context": "#0 Call",
101 "calling": "main",
102 "location": null,
103 "items": [
105 "stmt_id": 895,
106 "kind": null,
107 "pretty": "CXXConstructExpr <test.cpp:8:7> 'S[2]'",
108 "value": "Current index: 0"
113 "checker_messages": null
116 \l}"];
118 // CHECK: <b>Pending Array Init Loop Expressions: </b>
119 // CHECK-SAME:<table border="0">
120 // CHECK-SAME: <tr>
121 // CHECK-SAME: <td></td>
122 // CHECK-SAME: <td align="left"><b>#0 Call</b></td>
123 // CHECK-SAME: <td align="left" colspan="2">
124 // CHECK-SAME: <font color="gray60">main </font>
125 // CHECK-SAME: </td>
126 // CHECK-SAME: </tr>
127 // CHECK-SAME: <tr>
128 // CHECK-SAME: <td></td>
129 // CHECK-SAME: <td align="left"><i>S1112</i></td>
130 // CHECK-SAME: <td align="left">
131 // CHECK-SAME: <font color="darkgreen"><i> </i></font>
132 // CHECK-SAME: </td>
133 // CHECK-SAME: <td align="left">
134 // CHECK-SAME: CXXConstructExpr <test.cpp:10:6> 'S'
135 // CHECK-SAME: </td>
136 // CHECK-SAME: <td align="left">Flattened size: 2</td>
137 // CHECK-SAME: </tr>
138 // CHECK-SAME:</table>
139 Node0x3 [shape=record,label=
142 "state_id": 2,
143 "program_points": [
145 "kind": "BlockEntrance", "block_id": 1,
146 "terminator": null, "term_kind": null,
147 "tag": null, "node_id": 1,
148 "has_report": 0, "is_sink": 0
151 "program_state": {
152 "store": null,
153 "environment": null,
154 "constraints": null,
155 "equivalence_classes": null,
156 "disequality_info": null,
157 "dynamic_types": null,
158 "dynamic_casts": null,
159 "pending_init_loops": [
161 "lctx_id": 1,
162 "location_context": "#0 Call",
163 "calling": "main",
164 "location": null,
165 "items": [
167 "stmt_id": 1112,
168 "kind": null,
169 "pretty": "CXXConstructExpr <test.cpp:10:6> 'S'", "value": "Flattened size: 2"
174 "checker_messages": null
177 \l}"];
179 // CHECK: <b>Indices of Elements Under Destruction: </b>
180 // CHECK-SAME:<table border="0">
181 // CHECK-SAME: <tr>
182 // CHECK-SAME: <td></td>
183 // CHECK-SAME: <td align="left"><b>#0 Call</b></td>
184 // CHECK-SAME: <td align="left" colspan="2">
185 // CHECK-SAME: <font color="gray60">main </font>
186 // CHECK-SAME: </td>
187 // CHECK-SAME: </tr>
188 // CHECK-SAME: <tr>
189 // CHECK-SAME: <td></td>
190 // CHECK-SAME: <td align="left"><i>SNone</i></td>
191 // CHECK-SAME: <td align="left">
192 // CHECK-SAME: <font color="darkgreen"><i> </i></font>
193 // CHECK-SAME: </td>
194 // CHECK-SAME: <td align="left">Current index: </td>
195 // CHECK-SAME: <td align="left">1</td>
196 // CHECK-SAME: </tr>
197 // CHECK-SAME:</table>
198 Node0x4 [shape=record,label=
201 "state_id": 2,
202 "program_points": [
204 "kind": "BlockEntrance", "block_id": 1,
205 "terminator": null, "term_kind": null,
206 "tag": null, "node_id": 1,
207 "has_report": 0, "is_sink": 0
210 "program_state": {
211 "store": null,
212 "environment": null,
213 "constraints": null,
214 "equivalence_classes": null,
215 "disequality_info": null,
216 "dynamic_types": null,
217 "dynamic_casts": null,
218 "pending_destructors": [
220 "lctx_id": 1,
221 "location_context": "#0 Call",
222 "calling": "main",
223 "location": null,
224 "items": [
226 "stmt_id": null,
227 "kind": null,
228 "pretty": "Current index: ",
229 "value": "1"
234 "checker_messages": null
237 \l}"];