aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2025-04-28 18:21:22 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2025-04-28 18:21:22 -0400
commit4e1f545df9da1d2e6f9189c6d289a4875f1e24e3 (patch)
tree2b5c901f33832141359ff9198d4e827f94c2ad1d /gcc
parentc2f8c7ad2db225b55fb2ce53ed4a2d107b4f850c (diff)
downloadgcc-4e1f545df9da1d2e6f9189c6d289a4875f1e24e3.zip
gcc-4e1f545df9da1d2e6f9189c6d289a4875f1e24e3.tar.gz
gcc-4e1f545df9da1d2e6f9189c6d289a4875f1e24e3.tar.bz2
analyzer: convert various call_summary * to call_summary &
No functional change intended. gcc/analyzer/ChangeLog: * call-summary.cc (call_summary_replay::call_summary_replay): Convert "summary" from call_summary * to call_summary &. (call_summary_replay::dump_to_pp): Likewise for m_summary. * call-summary.h (call_summary_replay::call_summary_replay): Likewise for "summary". (call_summary_replay::m_summary): Likewise. * engine.cc (call_summary_edge_info::call_summary_edge_info): Likewise. (call_summary_edge_info::update_state): Likewise. (call_summary_edge_info::update_model): Likewise. (call_summary_edge_info::print_desc): Likewise for m_summary. (call_summary_edge_info::m_summary): Likewise. (exploded_node::replay_call_summaries): Update for change to replay_call_summary. (exploded_node::replay_call_summary): Convert "summary" from call_summary * to call_summary &. * exploded-graph.h (exploded_node::replay_call_summary): Likewise. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/analyzer/call-summary.cc4
-rw-r--r--gcc/analyzer/call-summary.h4
-rw-r--r--gcc/analyzer/engine.cc24
-rw-r--r--gcc/analyzer/exploded-graph.h2
4 files changed, 18 insertions, 16 deletions
diff --git a/gcc/analyzer/call-summary.cc b/gcc/analyzer/call-summary.cc
index 14ccba2..33de3d6 100644
--- a/gcc/analyzer/call-summary.cc
+++ b/gcc/analyzer/call-summary.cc
@@ -157,7 +157,7 @@ call_summary::dump (const extrinsic_state &ext_state, bool simple) const
call_summary_replay::call_summary_replay (const call_details &cd,
const function &called_fn,
- call_summary *summary,
+ call_summary &summary,
const extrinsic_state &ext_state)
: m_cd (cd),
m_summary (summary),
@@ -808,7 +808,7 @@ call_summary_replay::dump_to_pp (pretty_printer *pp, bool simple) const
pp_newline (pp);
pp_string (pp, "CALLEE SUMMARY:");
pp_newline (pp);
- m_summary->dump_to_pp (m_ext_state, pp, simple);
+ m_summary.dump_to_pp (m_ext_state, pp, simple);
/* Current state of caller (could be in mid-update). */
pp_newline (pp);
diff --git a/gcc/analyzer/call-summary.h b/gcc/analyzer/call-summary.h
index 297171d..7280cca 100644
--- a/gcc/analyzer/call-summary.h
+++ b/gcc/analyzer/call-summary.h
@@ -69,7 +69,7 @@ class call_summary_replay
public:
call_summary_replay (const call_details &cd,
const function &called_fn,
- call_summary *m_summary,
+ call_summary &summary,
const extrinsic_state &ext_state);
const call_details &get_call_details () const { return m_cd; }
@@ -102,7 +102,7 @@ private:
const region *convert_region_from_summary_1 (const region *);
const call_details &m_cd;
- call_summary *m_summary;
+ call_summary &m_summary;
const extrinsic_state &m_ext_state;
// Mapping from svalues in summary to svalues for callsite:
diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
index 311bc58..f33cc0b 100644
--- a/gcc/analyzer/engine.cc
+++ b/gcc/analyzer/engine.cc
@@ -1626,7 +1626,7 @@ class call_summary_edge_info : public call_info
public:
call_summary_edge_info (const call_details &cd,
const function &called_fn,
- call_summary *summary,
+ call_summary &summary,
const extrinsic_state &ext_state)
: call_info (cd, called_fn),
m_called_fn (called_fn),
@@ -1641,7 +1641,7 @@ public:
/* Update STATE based on summary_end_state. */
call_details cd (get_call_details (state->m_region_model, ctxt));
call_summary_replay r (cd, m_called_fn, m_summary, m_ext_state);
- const program_state &summary_end_state = m_summary->get_state ();
+ const program_state &summary_end_state = m_summary.get_state ();
return state->replay_call_summary (r, summary_end_state);
}
@@ -1652,19 +1652,19 @@ public:
/* Update STATE based on summary_end_state. */
call_details cd (get_call_details (model, ctxt));
call_summary_replay r (cd, m_called_fn, m_summary, m_ext_state);
- const program_state &summary_end_state = m_summary->get_state ();
+ const program_state &summary_end_state = m_summary.get_state ();
model->replay_call_summary (r, *summary_end_state.m_region_model);
return true;
}
void print_desc (pretty_printer &pp) const final override
{
- pp_string (&pp, m_summary->get_desc ().get ());
+ pp_string (&pp, m_summary.get_desc ().get ());
}
private:
const function &m_called_fn;
- call_summary *m_summary;
+ call_summary &m_summary;
const extrinsic_state &m_ext_state;
};
@@ -1686,8 +1686,11 @@ exploded_node::replay_call_summaries (exploded_graph &eg,
/* Each summary will call bifurcate on the PATH_CTXT. */
for (auto summary : called_fn_data.m_summaries)
- replay_call_summary (eg, snode, call_stmt, state,
- path_ctxt, called_fn, summary, ctxt);
+ {
+ gcc_assert (summary);
+ replay_call_summary (eg, snode, call_stmt, state,
+ path_ctxt, called_fn, *summary, ctxt);
+ }
path_ctxt->terminate_path ();
return on_stmt_flags ();
@@ -1704,22 +1707,21 @@ exploded_node::replay_call_summary (exploded_graph &eg,
program_state *old_state,
path_context *path_ctxt,
const function &called_fn,
- call_summary *summary,
+ call_summary &summary,
region_model_context *ctxt)
{
logger *logger = eg.get_logger ();
LOG_SCOPE (logger);
gcc_assert (snode);
gcc_assert (old_state);
- gcc_assert (summary);
if (logger)
logger->log ("using %s as summary for call to %qE from %qE",
- summary->get_desc ().get (),
+ summary.get_desc ().get (),
called_fn.decl,
snode->get_function ()->decl);
const extrinsic_state &ext_state = eg.get_ext_state ();
- const program_state &summary_end_state = summary->get_state ();
+ const program_state &summary_end_state = summary.get_state ();
if (logger)
{
pretty_printer *pp = logger->get_printer ();
diff --git a/gcc/analyzer/exploded-graph.h b/gcc/analyzer/exploded-graph.h
index 7c38de4..aa6fb1f 100644
--- a/gcc/analyzer/exploded-graph.h
+++ b/gcc/analyzer/exploded-graph.h
@@ -294,7 +294,7 @@ class exploded_node : public dnode<eg_traits>
program_state *state,
path_context *path_ctxt,
const function &called_fn,
- call_summary *summary,
+ call_summary &summary,
region_model_context *ctxt);
bool on_edge (exploded_graph &eg,