From aaebed62ca4b5db6623d40035b0aad4d9356a336 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Thu, 21 Mar 2019 16:18:18 -0400 Subject: [PATCH 134/169] FIXME: WIP on malloc-ipa-8.c --- gcc/analyzer/engine.cc | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc index 0b2ba37..1771112 100644 --- a/gcc/analyzer/engine.cc +++ b/gcc/analyzer/engine.cc @@ -2248,7 +2248,13 @@ engine::follow_call (sm_instance sm_inst, backtrace b, path_state ps, = restore_after_call (callee_summary_sm_inst, sm_inst, edge, rest_of_caller_node, new_b); log ("rest of call is in SN: %i", rest_of_caller_node->m_index); - dfs_traverse (callee_sm_inst, restored_sm, new_b, ps, rest_of_caller_node, + dfs_traverse ( +#if 0 + restored_sm, +#else + callee_sm_inst, +#endif + restored_sm, new_b, ps, rest_of_caller_node, NULL /* FIXME */); } } @@ -2489,11 +2495,20 @@ engine::expand_call_summary (const call_summary *summary_event, if (TREE_CODE (var) == PARM_DECL) var = ssa_default_def (callee_node->m_fun, var); - /* FIXME: potentially use any state for VAR within - summary_event->m_callee_sm_inst. */ summary_point start = summary_point (0 /*FIXME */, var_state_t (var, 0)); /* FIXME. */ +#if 0 + /* Potentially use any state for VAR within + summary_event->m_callee_sm_inst. */ + if (var_state_t *vs + = summary_event->m_callee_sm_inst.m_active_vars.has_expr (var)) + { + log (" using state from m_callee_sm_inst"); + start.m_varstate.m_state = vs->m_state; + delete vs; + } +#endif summary_edge state_edge (start, summary_point (0 /* FIXME */, var_state_t (var, state))); -- 1.8.5.3