]> granicus.if.org Git - clang/commit
[analyzer] Assign truly stable identifiers to exploded nodes.
authorArtem Dergachev <artem.dergachev@gmail.com>
Thu, 17 Oct 2019 23:10:09 +0000 (23:10 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Thu, 17 Oct 2019 23:10:09 +0000 (23:10 +0000)
commitd0e3ed0b01ba7e55081e5b2593460b7b1486fd24
tree38ef8ff2978259425fb6fc6a9cf218778cd7c4a0
parent40a1cfa0b13160d82f688daa7fbab9f249679617
[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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@375186 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
lib/StaticAnalyzer/Core/BugReporter.cpp
lib/StaticAnalyzer/Core/ExplodedGraph.cpp
lib/StaticAnalyzer/Core/ExprEngine.cpp
test/Analysis/dump_egraph.c
test/Analysis/exploded-graph-rewriter/checker_messages.dot
test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
test/Analysis/exploded-graph-rewriter/constraints.dot
test/Analysis/exploded-graph-rewriter/constraints_diff.dot
test/Analysis/exploded-graph-rewriter/edge.dot
test/Analysis/exploded-graph-rewriter/environment.dot
test/Analysis/exploded-graph-rewriter/environment_diff.dot
test/Analysis/exploded-graph-rewriter/node_labels.dot
test/Analysis/exploded-graph-rewriter/program_points.dot
test/Analysis/exploded-graph-rewriter/store.dot
test/Analysis/exploded-graph-rewriter/store_diff.dot
test/Analysis/exploded-graph-rewriter/topology.dot
test/Analysis/exploded-graph-rewriter/trimmers.dot
utils/analyzer/exploded-graph-rewriter.py