analyzer: remove dead code
authorMartin Liska <mliska@suse.cz>
Fri, 23 Oct 2020 15:21:51 +0000 (17:21 +0200)
committerMartin Liska <mliska@suse.cz>
Tue, 10 Nov 2020 17:48:07 +0000 (18:48 +0100)
gcc/analyzer/ChangeLog:

* constraint-manager.cc (constraint_manager::merge): Remove
unused code.
* constraint-manager.h: Likewise.
* program-state.cc (sm_state_map::sm_state_map): Likewise.
(program_state::program_state): Likewise.
(test_sm_state_map): Likewise.
* program-state.h: Likewise.
* region-model-reachability.cc (reachable_regions::reachable_regions): Likewise.
* region-model-reachability.h: Likewise.
* region-model.cc (region_model::handle_unrecognized_call): Likewise.
(region_model::get_reachable_svalues): Likewise.
(region_model::can_merge_with_p): Likewise.

gcc/analyzer/constraint-manager.cc
gcc/analyzer/constraint-manager.h
gcc/analyzer/program-state.cc
gcc/analyzer/program-state.h
gcc/analyzer/region-model-reachability.cc
gcc/analyzer/region-model-reachability.h
gcc/analyzer/region-model.cc

index 2978f1b212d6b352bb871509b5f4bd13a16f1d27..590bf322563707aa021b78b22e482a3055d764c1 100644 (file)
@@ -1790,9 +1790,8 @@ class merger_fact_visitor : public fact_visitor
 {
 public:
   merger_fact_visitor (const constraint_manager *cm_b,
-                      constraint_manager *out,
-                      const model_merger &merger)
-  : m_cm_b (cm_b), m_out (out), m_merger (merger)
+                      constraint_manager *out)
+  : m_cm_b (cm_b), m_out (out)
   {}
 
   void on_fact (const svalue *lhs, enum tree_code code, const svalue *rhs)
@@ -1826,7 +1825,6 @@ public:
 private:
   const constraint_manager *m_cm_b;
   constraint_manager *m_out;
-  const model_merger &m_merger;
 };
 
 /* Use MERGER to merge CM_A and CM_B into *OUT.
@@ -1838,14 +1836,13 @@ private:
 void
 constraint_manager::merge (const constraint_manager &cm_a,
                           const constraint_manager &cm_b,
-                          constraint_manager *out,
-                          const model_merger &merger)
+                          constraint_manager *out)
 {
   /* Merge the equivalence classes and constraints.
      The easiest way to do this seems to be to enumerate all of the facts
      in cm_a, see which are also true in cm_b,
      and add those to *OUT.  */
-  merger_fact_visitor v (&cm_b, out, merger);
+  merger_fact_visitor v (&cm_b, out);
   cm_a.for_each_fact (&v);
 }
 
index 98960ffad84db12cda35ef2912f1f3ecd999f337..1142b1f06e60695c44f2533eeb9e2ca0fdb7f7ff 100644 (file)
@@ -274,8 +274,7 @@ public:
 
   static void merge (const constraint_manager &cm_a,
                     const constraint_manager &cm_b,
-                    constraint_manager *out,
-                    const model_merger &merger);
+                    constraint_manager *out);
 
   void for_each_fact (fact_visitor *) const;
 
index b39e55a1a1e7c8a69fd20ee70929557ad9662ca4..5c59c096d0c16d0a5f564e7575ae104eff9f8866 100644 (file)
@@ -154,8 +154,8 @@ sm_state_map::entry_t::cmp (const entry_t &entry_a, const entry_t &entry_b)
 
 /* sm_state_map's ctor.  */
 
-sm_state_map::sm_state_map (const state_machine &sm, int sm_idx)
-: m_sm (sm), m_sm_idx (sm_idx), m_map (), m_global_state (sm.get_start_state ())
+sm_state_map::sm_state_map (const state_machine &sm)
+: m_sm (sm), m_map (), m_global_state (sm.get_start_state ())
 {
 }
 
@@ -656,7 +656,7 @@ program_state::program_state (const extrinsic_state &ext_state)
   const int num_states = ext_state.get_num_checkers ();
   for (int i = 0; i < num_states; i++)
     {
-      sm_state_map *sm = new sm_state_map (ext_state.get_sm (i), i);
+      sm_state_map *sm = new sm_state_map (ext_state.get_sm (i));
       m_checker_states.quick_push (sm);
     }
 }
@@ -1251,7 +1251,7 @@ test_sm_state_map ()
     const svalue *y_sval = model.get_rvalue (y, NULL);
     const svalue *z_sval = model.get_rvalue (z, NULL);
 
-    sm_state_map map (*sm, 0);
+    sm_state_map map (*sm);
     ASSERT_TRUE (map.is_empty_p ());
     ASSERT_EQ (map.get_state (x_sval, ext_state), start);
 
@@ -1280,7 +1280,7 @@ test_sm_state_map ()
     const svalue *y_sval = model.get_rvalue (y, NULL);
     const svalue *z_sval = model.get_rvalue (z, NULL);
 
-    sm_state_map map (*sm, 0);
+    sm_state_map map (*sm);
     ASSERT_TRUE (map.is_empty_p ());
     ASSERT_EQ (map.get_state (x_sval, ext_state), start);
     ASSERT_EQ (map.get_state (y_sval, ext_state), start);
@@ -1303,9 +1303,9 @@ test_sm_state_map ()
     const svalue *y_sval = model.get_rvalue (y, NULL);
     const svalue *z_sval = model.get_rvalue (z, NULL);
 
-    sm_state_map map0 (*sm, 0);
-    sm_state_map map1 (*sm, 0);
-    sm_state_map map2 (*sm, 0);
+    sm_state_map map0 (*sm);
+    sm_state_map map1 (*sm);
+    sm_state_map map2 (*sm);
 
     ASSERT_EQ (map0.hash (), map1.hash ());
     ASSERT_EQ (map0, map1);
@@ -1326,9 +1326,9 @@ test_sm_state_map ()
     const state_machine::state_t TEST_STATE_2 = &test_state_2;
     const state_machine::state test_state_3 ("test state 3", 3);
     const state_machine::state_t TEST_STATE_3 = &test_state_3;
-    sm_state_map map0 (*sm, 0);
-    sm_state_map map1 (*sm, 0);
-    sm_state_map map2 (*sm, 0);
+    sm_state_map map0 (*sm);
+    sm_state_map map1 (*sm);
+    sm_state_map map2 (*sm);
 
     ASSERT_EQ (map0.hash (), map1.hash ());
     ASSERT_EQ (map0, map1);
index c44fc948864e418b236613feef18e7068cf52a88..1532210f6e01d39cdca824e82a91300a1d5c1f65 100644 (file)
@@ -104,7 +104,7 @@ public:
   typedef hash_map <const svalue *, entry_t> map_t;
   typedef map_t::iterator iterator_t;
 
-  sm_state_map (const state_machine &sm, int m_sm_idx);
+  sm_state_map (const state_machine &sm);
 
   sm_state_map *clone () const;
 
@@ -168,7 +168,6 @@ public:
 
 private:
   const state_machine &m_sm;
-  int m_sm_idx;
   map_t m_map;
   state_machine::state_t m_global_state;
 };
index 7fd89052737dcce5c365f40ae4fc7bc9bd9fc910..9fc70d29daad94c226fcd4e63e316055ab834e5a 100644 (file)
@@ -58,9 +58,8 @@ along with GCC; see the file COPYING3.  If not see
 
 namespace ana {
 
-reachable_regions::reachable_regions (region_model *model,
-                                     region_model_manager *mgr)
-: m_model (model), m_store (model->get_store ()), m_mgr (mgr),
+reachable_regions::reachable_regions (region_model *model)
+: m_model (model), m_store (model->get_store ()),
   m_reachable_base_regs (), m_mutable_base_regs ()
 {
 }
index fe305b0ce782970618115e83c71fb4cd0ca27e32..4d30c1fdd1d308c0a4bdc24cfec020f17691f0a7 100644 (file)
@@ -35,7 +35,7 @@ namespace ana {
 class reachable_regions
 {
 public:
-  reachable_regions (region_model *model, region_model_manager *mgr);
+  reachable_regions (region_model *model);
 
   /* Callback called for each cluster when initializing this object.  */
   static void init_cluster_cb (const region *base_reg,
@@ -97,7 +97,6 @@ public:
 private:
   region_model *m_model;
   store *m_store;
-  region_model_manager *m_mgr;
 
   /* The base regions already seen.  */
   hash_set<const region *> m_reachable_base_regs;
index e5f027b6059b5caca22de385bc35404e70a3c9a1..d30047b279d7f9bdb34384b8b7c9f9165d871d88 100644 (file)
@@ -836,7 +836,7 @@ region_model::handle_unrecognized_call (const gcall *call,
 {
   tree fndecl = get_fndecl_for_call (call, ctxt);
 
-  reachable_regions reachable_regs (this, m_mgr);
+  reachable_regions reachable_regs (this);
 
   /* Determine the reachable regions and their mutability.  */
   {
@@ -904,7 +904,7 @@ void
 region_model::get_reachable_svalues (svalue_set *out,
                                     const svalue *extra_sval)
 {
-  reachable_regions reachable_regs (this, m_mgr);
+  reachable_regions reachable_regs (this);
 
   /* Add globals and regions that already escaped in previous
      unknown calls.  */
@@ -2857,8 +2857,7 @@ region_model::can_merge_with_p (const region_model &other_model,
   /* Merge constraints.  */
   constraint_manager::merge (*m_constraints,
                              *other_model.m_constraints,
-                             out_model->m_constraints,
-                             m);
+                             out_model->m_constraints);
 
   return true;
 }