[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] analyzer: tweaks to exploded_node ctor
Martin Liska
marxin@gcc.gnu.org
Mon Mar 30 10:55:36 GMT 2020
https://gcc.gnu.org/g:0db2cd177020920e187ef47791d52cf689133a25
commit 0db2cd177020920e187ef47791d52cf689133a25
Author: David Malcolm <dmalcolm@redhat.com>
Date: Tue Mar 17 10:25:14 2020 -0400
analyzer: tweaks to exploded_node ctor
I have followup work that touches this, so it's easiest to get this
cleanup in first.
gcc/analyzer/ChangeLog:
* engine.cc (exploded_node::exploded_node): Move implementation
here from header; accept point_and_state by const reference rather
than by value.
* exploded-graph.h (exploded_node::exploded_node): Pass
point_and_state by const reference rather than by value. Move
body to engine.cc.
Diff:
---
gcc/analyzer/ChangeLog | 9 +++++++++
gcc/analyzer/engine.cc | 11 +++++++++++
gcc/analyzer/exploded-graph.h | 7 +------
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index a5c8b27c522..ace456c02d8 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,12 @@
+2020-03-18 David Malcolm <dmalcolm@redhat.com>
+
+ * engine.cc (exploded_node::exploded_node): Move implementation
+ here from header; accept point_and_state by const reference rather
+ than by value.
+ * exploded-graph.h (exploded_node::exploded_node): Pass
+ point_and_state by const reference rather than by value. Move
+ body to engine.cc.
+
2020-03-18 Jakub Jelinek <jakub@redhat.com>
* sm-malloc.cc (malloc_state_machine::on_stmt): Fix up duplicated word
diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
index a8037c6a3c7..369110bbbfb 100644
--- a/gcc/analyzer/engine.cc
+++ b/gcc/analyzer/engine.cc
@@ -795,6 +795,17 @@ print_enode_indices (pretty_printer *pp,
}
}
+/* class exploded_node : public dnode<eg_traits>. */
+
+/* exploded_node's ctor. */
+
+exploded_node::exploded_node (const point_and_state &ps,
+ int index)
+: m_ps (ps), m_status (STATUS_WORKLIST), m_index (index)
+{
+ gcc_checking_assert (ps.get_state ().m_region_model->canonicalized_p ());
+}
+
/* For use by dump_dot, get a value for the .dot "fillcolor" attribute.
Colorize by sm-state, to make it easier to see how sm-state propagates
through the exploded_graph. */
diff --git a/gcc/analyzer/exploded-graph.h b/gcc/analyzer/exploded-graph.h
index c0a520a9961..b9a561848b3 100644
--- a/gcc/analyzer/exploded-graph.h
+++ b/gcc/analyzer/exploded-graph.h
@@ -175,12 +175,7 @@ class exploded_node : public dnode<eg_traits>
STATUS_MERGER
};
- exploded_node (point_and_state ps,
- int index)
- : m_ps (ps), m_status (STATUS_WORKLIST), m_index (index)
- {
- gcc_checking_assert (ps.get_state ().m_region_model->canonicalized_p ());
- }
+ exploded_node (const point_and_state &ps, int index);
hashval_t hash () const { return m_ps.hash (); }
More information about the Gcc-cvs
mailing list