aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2024-04-10 16:43:28 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2024-04-10 16:43:28 -0400
commit7f6599a201be2a3f7d1d799087e4ba283ec0bee8 (patch)
tree00c16deb2059b99b165120c698c8ee4aabc177a3
parent082374f6570a311b0ef95cdf712dbc6eb1e7cd17 (diff)
downloadgcc-7f6599a201be2a3f7d1d799087e4ba283ec0bee8.zip
gcc-7f6599a201be2a3f7d1d799087e4ba283ec0bee8.tar.gz
gcc-7f6599a201be2a3f7d1d799087e4ba283ec0bee8.tar.bz2
analyzer: fixes to internal docs
gcc/ChangeLog: * doc/analyzer.texi: Various tweaks. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-rw-r--r--gcc/doc/analyzer.texi10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/doc/analyzer.texi b/gcc/doc/analyzer.texi
index 8eb4027..b53096e 100644
--- a/gcc/doc/analyzer.texi
+++ b/gcc/doc/analyzer.texi
@@ -21,6 +21,9 @@
@subsection Overview
+At a high-level, we're doing coverage-guided symbolic execution of the
+user's code.
+
The analyzer implementation works on the gimple-SSA representation.
(I chose this in the hopes of making it easy to work with LTO to
do whole-program analysis).
@@ -55,7 +58,9 @@ Next is the heart of the analyzer: we use a worklist to explore state
within the supergraph, building an "exploded graph".
Nodes in the exploded graph correspond to <point,@w{ }state> pairs, as in
"Precise Interprocedural Dataflow Analysis via Graph Reachability"
- (Thomas Reps, Susan Horwitz and Mooly Sagiv).
+ (Thomas Reps, Susan Horwitz and Mooly Sagiv) - but note that
+we're not using the algorithm described in that paper, just the
+``exploded graph'' terminology.
We reuse nodes for <point, state> pairs we've already seen, and avoid
tracking state too closely, so that (hopefully) we rapidly converge
@@ -499,7 +504,8 @@ which dumps a @file{SRC.eg.txt} file containing the full @code{exploded_graph}.
Assuming that you have the
@uref{https://gcc-newbies-guide.readthedocs.io/en/latest/debugging.html,,python support scripts for gdb}
-installed, you can use:
+installed (which you should do, it makes debugging GCC much easier),
+you can use:
@smallexample
(gdb) break-on-saved-diagnostic