teak-llvm/clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
Artem Dergachev 14e9eb3d7c [analyzer] Assign truly stable identifiers to exploded nodes.
ExplodedGraph nodes will now have a numeric identifier stored in them
which will keep track of the order in which the nodes were created
and it will be fully deterministic both accross runs and across machines.

This is extremely useful for debugging as it allows reliably setting
conditional breakpoints by node IDs.

llvm-svn: 375186
2019-10-17 23:10:09 +00:00

93 lines
2.2 KiB
Plaintext

// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
// FIXME: Substitution doesn't seem to work on Windows.
// UNSUPPORTED: system-windows
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,
"constructing_objects": 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,
"constructing_objects": 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,
"constructing_objects": null,
"checker_messages": null
}
}
\l}"];