diff options
author | David Malcolm <dmalcolm@redhat.com> | 2022-10-04 20:19:06 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2022-10-04 20:19:06 -0400 |
commit | e6fe02d832209393474ca049ca5e0b56a053fadd (patch) | |
tree | bb5789ea042a47e604fb9a6a720319321d6af9d2 /gcc/analyzer/svalue.h | |
parent | 85872a69ee1b123557c7c352d45ef608e70b20fb (diff) | |
download | gcc-e6fe02d832209393474ca049ca5e0b56a053fadd.zip gcc-e6fe02d832209393474ca049ca5e0b56a053fadd.tar.gz gcc-e6fe02d832209393474ca049ca5e0b56a053fadd.tar.bz2 |
analyzer: widening_svalues take a function_point rather than a program_point
Enabling work towrads better call summarization.
gcc/analyzer/ChangeLog:
* region-model-manager.cc
(region_model_manager::get_or_create_widening_svalue): Use a
function_point rather than a program_point.
* region-model.cc (selftest::test_widening_constraints): Likewise.
* region-model.h
(region_model_manager::get_or_create_widening_svalue): Likewise.
(model_merger::get_function_point): New.
* svalue.cc (svalue::can_merge_p): Use a function_point rather
than a program_point.
(svalue::can_merge_p): Likewise.
* svalue.h (widening_svalue::key_t): Likewise.
(widening_svalue::widening_svalue): Likewise.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/analyzer/svalue.h')
-rw-r--r-- | gcc/analyzer/svalue.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/analyzer/svalue.h b/gcc/analyzer/svalue.h index f4cab0d..9393d6e 100644 --- a/gcc/analyzer/svalue.h +++ b/gcc/analyzer/svalue.h @@ -1113,9 +1113,9 @@ public: /* A support class for uniquifying instances of widening_svalue. */ struct key_t { - key_t (tree type, const program_point &point, + key_t (tree type, const function_point &point, const svalue *base_sval, const svalue *iter_sval) - : m_type (type), m_point (point.get_function_point ()), + : m_type (type), m_point (point), m_base_sval (base_sval), m_iter_sval (iter_sval) {} @@ -1153,12 +1153,12 @@ public: DIR_UNKNOWN }; - widening_svalue (tree type, const program_point &point, + widening_svalue (tree type, const function_point &point, const svalue *base_sval, const svalue *iter_sval) : svalue (complexity::from_pair (base_sval->get_complexity (), iter_sval->get_complexity ()), type), - m_point (point.get_function_point ()), + m_point (point), m_base_sval (base_sval), m_iter_sval (iter_sval) { gcc_assert (base_sval->can_have_associated_state_p ()); |