Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / Analysis / exploded-graph-rewriter / program_points.dot
blobd4ba5ee776276436c07678686eebbeee6e14e973
1 // RUN: %exploded_graph_rewriter %s | FileCheck %s
3 // CHECK: <b>Program points:</b>
4 // CHECK-SAME: <table border="0" align="left" width="0">
5 // CHECK-SAME: <tr>
6 // CHECK-SAME: <td width="0">
7 // CHECK-SAME: </td>
8 // CHECK-SAME: <td align="left" width="0">
9 // CHECK-SAME: <font color="gold3">BlockEdge</font>
10 // CHECK-SAME: </td>
11 // CHECK-SAME: <td align="left">
12 // CHECK-SAME: [B0] -&gt; [B1]
13 // CHECK-SAME: </td>
14 // CHECK-SAME: </tr>
15 // CHECK-SAME: <tr>
16 // CHECK-SAME: <td width="0">
17 // CHECK-SAME: </td>
18 // CHECK-SAME: <td align="left" width="0">
19 // CHECK-SAME: <font color="gold3">BlockEntrance</font>
20 // CHECK-SAME: </td>
21 // CHECK-SAME: <td align="left">
22 // CHECK-SAME: [B1]
23 // CHECK-SAME: </td>
24 // CHECK-SAME: </tr>
25 // CHECK-SAME: </table>
26 Node0x1 [shape=record,label=
29 "state_id": 0, "program_state": null, "program_points": [
31 "kind": "Edge",
32 "src_id": 0,
33 "dst_id": 1,
34 "terminator": null,
35 "term_kind": null,
36 "tag": null,
37 "node_id": 1,
38 "has_report": 0,
39 "is_sink": 0
42 "kind": "BlockEntrance",
43 "block_id": 1,
44 "terminator": null,
45 "term_kind": null,
46 "tag": null,
47 "node_id": 2,
48 "has_report": 0,
49 "is_sink": 0
52 \l}"];
54 // CHECK-NEXT: <b>Program point:</b>
55 // CHECK-SAME: <table border="0" align="left" width="0">
56 // CHECK-SAME: <tr>
57 // CHECK-SAME: <td align="left" width="0">
58 // CHECK-SAME: main.cpp:<b>4</b>:<b>5</b>:
59 // CHECK-SAME: </td>
60 // CHECK-SAME: <td align="left" width="0">
61 // CHECK-SAME: <font color="cyan4">DeclRefExpr</font>
62 // CHECK-SAME: </td>
63 // CHECK-SAME: <td align="left"><i>S3</i></td>
64 // CHECK-SAME: <td align="left">
65 // CHECK-SAME: <font color="cyan3">PreStmt</font>
66 // CHECK-SAME: </td>
67 // CHECK-SAME: <td align="left">x</td>
68 // CHECK-SAME: </tr>
69 // CHECK-SAME: <tr>
70 // CHECK-SAME: <td width="0">
71 // CHECK-SAME: </td>
72 // CHECK-SAME: <td colspan="3" align="left">
73 // CHECK-SAME: <b>Tag: </b>
74 // CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font>
75 // CHECK-SAME: </td>
76 // CHECK-SAME: </tr>
77 // CHECK-SAME: </table>
78 Node0x3 [shape=record,label=
80 { "state_id": 0, "program_state": null, "program_points": [
82 "kind": "Statement",
83 "stmt_kind": "DeclRefExpr",
84 "stmt_point_kind": "PreStmt",
85 "stmt_id": 3,
86 "pointer": "0x3",
87 "pretty": "x",
88 "location": {
89 "file": "main.cpp",
90 "line": 4,
91 "column": 5
93 "tag": "ExprEngine : Clean Node",
94 "node_id": 3,
95 "pointer": "0x3",
96 "has_report": 0,
97 "is_sink": 0
100 \l}"];
102 // Test collapsing large pretty prints with braces.
104 // CHECK-NEXT: <b>Program point:</b>
105 // CHECK-SAME: <td align="left">\{ ... \}</td>
106 Node0x4 [shape=record,label=
109 "state_id": 0, "program_state": null, "program_points": [
111 "kind": "Statement",
112 "stmt_kind": "CompoundStmt",
113 "stmt_point_kind": "PostStmt",
114 "stmt_id": 6,
115 "pointer": "0x6",
116 "pretty": "{ very very very very very very long pretty print }",
117 "location": {
118 "line": 7,
119 "column": 8
121 "tag": "ExprEngine : Clean Node",
122 "node_id": 4,
123 "has_report": 0,
124 "is_sink": 0
127 \l}"];
129 // CHECK-NEXT: <b>Program point:</b>
130 // CHECK-SAME: <table border="0" align="left" width="0">
131 // CHECK-SAME: <tr>
132 // CHECK-SAME: <td align="left" width="0">
133 // CHECK-SAME: main.cpp:<b>8</b>:<b>9</b>:
134 // CHECK-SAME: </td>
135 // CHECK-SAME: <td align="left" width="0">
136 // CHECK-SAME: <font color="cyan4">
137 // CHECK-SAME: ImplicitCastExpr (LValueToRValue)
138 // CHECK-SAME: </font>
139 // CHECK-SAME: </td>
140 // CHECK-SAME: <td align="left"><i>S5</i></td>
141 // CHECK-SAME: <td align="left">
142 // CHECK-SAME: <font color="cyan3">PreStmt</font>
143 // CHECK-SAME: </td>
144 // CHECK-SAME: <td align="left">y</td>
145 // CHECK-SAME: </tr>
146 // CHECK-SAME: <tr>
147 // CHECK-SAME: <td width="0">
148 // CHECK-SAME: </td>
149 // CHECK-SAME: <td colspan="3" align="left">
150 // CHECK-SAME: <b>Tag: </b>
151 // CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font>
152 // CHECK-SAME: </td>
153 // CHECK-SAME: </tr>
154 // CHECK-SAME: </table>
155 Node0x5 [shape=record,label=
157 { "state_id": 0, "program_state": null, "program_points": [
159 "kind": "Statement",
160 "stmt_kind": "ImplicitCastExpr",
161 "cast_kind": "LValueToRValue",
162 "stmt_point_kind": "PreStmt",
163 "stmt_id": 5,
164 "pointer": "0x6",
165 "pretty": "y",
166 "location": {
167 "file": "main.cpp",
168 "line": 8,
169 "column": 9
171 "tag": "ExprEngine : Clean Node",
172 "node_id": 5,
173 "has_report": 0,
174 "is_sink": 0
177 \l}"];