isuckatcs b5147937b2 [analyzer] Add more information to the Exploded Graph
This patch dumps every state trait in the egraph. Also
the empty state traits are no longer dumped, instead
they are treated as null by the egraph rewriter script,
which solves reverse compatibility issues.

Differential Revision: https://reviews.llvm.org/D131187
2022-09-03 00:21:05 +02:00

87 lines
2.1 KiB
Plaintext

// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
Node0x1 [shape=record,label=
"{
{
"state_id": 2,
"program_points": [
{
"kind": "BlockEntrance", "block_id": 1,
"terminator": null, "term_kind": null,
"tag": null, "node_id": 1,
"has_report": 0, "is_sink": 0
}
],
"program_state": {
"store": null,
"environment": null,
"dynamic_types": null,
"checker_messages": null,
"constraints": [
{ "symbol": "reg_$0<x>", "range": "{ [0, 10] }" }
]
}
}
\l}"];
Node0x1 -> Node0x3;
// CHECK: Node0x3 [
// CHECK-SAME: <tr>
// CHECK-SAME: <td><font color="red">-</font></td>
// CHECK-SAME: <td align="left">reg_$0<x></td>
// CHECK-SAME: <td align="left">\{ [0, 10] \}</td>
// CHECK-SAME: </tr>
// CHECK-SAME: <tr>
// CHECK-SAME: <td><font color="forestgreen">+</font></td>
// CHECK-SAME: <td align="left">reg_$0<x></td>
// CHECK-SAME: <td align="left">\{ [0, 5] \}</td>
// CHECK-SAME: </tr>
Node0x3 [shape=record,label=
"{
{
"state_id": 4,
"program_points": [
{
"kind": "BlockEntrance", "block_id": 1,
"terminator": null, "term_kind": null,
"tag": null, "node_id": 1,
"has_report": 0, "is_sink": 0
}
],
"program_state": {
"store": null,
"environment": null,
"dynamic_types": null,
"checker_messages": null,
"constraints": [
{ "symbol": "reg_$0<x>", "range": "{ [0, 5] }" }
]
}
}
\l}"];
Node0x3 -> Node0x5;
Node0x5 [shape=record,label=
"{
{
"state_id": 6,
"program_points": [
{
"kind": "BlockEntrance", "block_id": 1,
"terminator": null, "term_kind": null,
"tag": null, "node_id": 1,
"has_report": 0, "is_sink": 0
}
],
"program_state": {
"store": null,
"environment": null,
"constraints": null,
"dynamic_types": null,
"checker_messages": null
}
}
\l}"];