Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r16-6180-g4ac9dec2e30f47.
gcc/analyzer/ChangeLog:
PR analyzer/123136
* engine.cc
(strongly_connected_components::strongly_connected_components):
Consistently use size_t.
(strongly_connected_components::dump): Likewise.
(strongly_connected_components::to_json): Likewise.
(exploded_graph::print_bar_charts): Likewise.
(exploded_path::feasible_p): Remove unused locals.
(exploded_graph_annotator::exploded_graph_annotator): Use size_t
for iterator var.
(impl_run_checkers): Drop logger param of engine ctor.
* ops.cc (phis_for_edge_op::maybe_make): Drop unused param of
phis_for_edge_op ctor.
(phis_for_edge_op::phis_for_edge_op): Likewise.
* ops.h (operation::~operation): Make virtual.
(control_flow_op::dyn_cast_control_flow_op): Add "final override".
(phis_for_edge_op::phis_for_edge_op): Drop unused param.
(phis_for_edge_op::m_cfg_in_edge): Drop unused field.
* region-model.cc (engine::engine): Drop unused "logger" param.
* region-model.h (engine::engine): Likewise.
* supergraph-fixup-locations.cc (location_fixer::location_fixer):
Drop m_sg field.
(location_fixer::m_sg): Drop unused field.
(location_fixer::m_purge_map): Drop unused field.
* supergraph-sorting.cc (class sorting_worklist): Drop unused
m_worklist field.
Signed-off-by: David Malcolm <[email protected]>
---
gcc/analyzer/engine.cc | 26 +++++++++-------------
gcc/analyzer/ops.cc | 9 +++-----
gcc/analyzer/ops.h | 8 +++----
gcc/analyzer/region-model.cc | 3 +--
gcc/analyzer/region-model.h | 3 +--
gcc/analyzer/supergraph-fixup-locations.cc | 5 +----
gcc/analyzer/supergraph-sorting.cc | 9 ++++----
7 files changed, 24 insertions(+), 39 deletions(-)
diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
index 714e6431cd64a..3e4c39fa80089 100644
--- a/gcc/analyzer/engine.cc
+++ b/gcc/analyzer/engine.cc
@@ -2228,7 +2228,7 @@ strongly_connected_components (const supergraph &sg,
logger *logger)
LOG_SCOPE (logger);
auto_timevar tv (TV_ANALYZER_SCC);
- for (int i = 0; i < m_sg.m_nodes.length (); i++)
+ for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
m_per_node.quick_push (per_node_data ());
for (auto snode : m_sg.m_nodes)
@@ -2255,10 +2255,10 @@ strongly_connected_components::dump () const
fprintf (stderr, "%i", i);
}
fprintf (stderr, "]\n");
- for (int i = 0; i < m_sg.m_nodes.length (); i++)
+ for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
{
const per_node_data &v = m_per_node[i];
- fprintf (stderr, "SN %i: index: %i lowlink: %i on_stack: %i\n",
+ fprintf (stderr, "SN %lu: index: %i lowlink: %i on_stack: %i\n",
i, v.m_id, v.m_lowlink, v.m_on_stack);
}
}
@@ -2269,7 +2269,7 @@ std::unique_ptr<json::array>
strongly_connected_components::to_json () const
{
auto scc_arr = std::make_unique<json::array> ();
- for (int i = 0; i < m_sg.m_nodes.length (); i++)
+ for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
scc_arr->append (std::make_unique<json::integer_number> (get_scc_id (i)));
return scc_arr;
}
@@ -3831,7 +3831,7 @@ exploded_graph::print_bar_charts (pretty_printer *pp)
const
/* Accumulate number of enodes per supernode. */
auto_vec<unsigned> enodes_per_supernode (m_sg.m_nodes.length ());
- for (int i = 0; i < m_sg.m_nodes.length (); i++)
+ for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
enodes_per_supernode.quick_push (0);
int i;
exploded_node *enode;
@@ -3845,7 +3845,7 @@ exploded_graph::print_bar_charts (pretty_printer *pp)
const
/* Accumulate excess enodes per supernode. */
auto_vec<unsigned> excess_enodes_per_supernode (m_sg.m_nodes.length ());
- for (int i = 0; i < m_sg.m_nodes.length (); i++)
+ for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
excess_enodes_per_supernode.quick_push (0);
for (point_map_t::iterator iter = m_per_point_data.begin ();
iter != m_per_point_data.end (); ++iter)
@@ -3871,7 +3871,7 @@ exploded_graph::print_bar_charts (pretty_printer *pp)
const
bar_chart enodes_per_snode;
bar_chart excess_enodes_per_snode;
bool have_excess_enodes = false;
- for (int i = 0; i < m_sg.m_nodes.length (); i++)
+ for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
{
const supernode *iter_snode = m_sg.m_nodes[i];
if (iter_snode->get_function () != fn)
@@ -4089,12 +4089,8 @@ exploded_path::feasible_p (logger *logger,
{
gcc_assert (rc);
if (out)
- {
- const exploded_node &src_enode = *eedge->m_src;
- const program_point &src_point = src_enode.get_point ();
- *out = std::make_unique<feasibility_problem> (edge_idx, *eedge,
- std::move (rc));
- }
+ *out = std::make_unique<feasibility_problem> (edge_idx, *eedge,
+ std::move (rc));
return false;
}
@@ -4897,7 +4893,7 @@ public:
: m_eg (eg)
{
/* Avoid O(N^2) by prepopulating m_enodes_per_snode_id. */
- for (int i = 0; i < eg.get_supergraph ().m_nodes.length (); ++i)
+ for (size_t i = 0; i < eg.get_supergraph ().m_nodes.length (); ++i)
m_enodes_per_snode_id.push_back (std::vector<exploded_node *> ());
exploded_node *enode;
unsigned i;
@@ -5192,7 +5188,7 @@ impl_run_checkers (logger *logger)
maybe_dump_supergraph (sg, "fixup-locations");
- engine eng (mgr, &sg, logger);
+ engine eng (mgr, &sg);
state_purge_map *purge_map = nullptr;
if (flag_analyzer_state_purge)
diff --git a/gcc/analyzer/ops.cc b/gcc/analyzer/ops.cc
index f7dd3a6d698e1..77943948b469f 100644
--- a/gcc/analyzer/ops.cc
+++ b/gcc/analyzer/ops.cc
@@ -2158,15 +2158,12 @@ phis_for_edge_op::maybe_make (::edge cfg_in_edge)
if (pairs.empty ())
return nullptr;
- return std::make_unique <phis_for_edge_op> (std::move (pairs),
- cfg_in_edge);
+ return std::make_unique <phis_for_edge_op> (std::move (pairs));
}
-phis_for_edge_op::phis_for_edge_op (std::vector<pair> &&pairs,
- ::edge cfg_in_edge)
+phis_for_edge_op::phis_for_edge_op (std::vector<pair> &&pairs)
: operation (kind::phis),
- m_pairs (std::move (pairs)),
- m_cfg_in_edge (cfg_in_edge)
+ m_pairs (std::move (pairs))
{
}
diff --git a/gcc/analyzer/ops.h b/gcc/analyzer/ops.h
index 8681e0266c491..30c5c71c20936 100644
--- a/gcc/analyzer/ops.h
+++ b/gcc/analyzer/ops.h
@@ -96,7 +96,7 @@ class operation
call_and_return
};
- ~operation () {}
+ virtual ~operation () {}
void
dump () const;
@@ -630,7 +630,7 @@ public:
std::unique_ptr<rejected_constraint> *out_rc) const
override;
const control_flow_op *
- dyn_cast_control_flow_op () const { return this; }
+ dyn_cast_control_flow_op () const final override { return this; }
::edge get_cfg_edge () const { return m_cfg_edge; }
int get_flags () const { return m_cfg_edge->flags; }
@@ -947,8 +947,7 @@ public:
return std::make_unique<phis_for_edge_op> (*this);
}
- phis_for_edge_op (std::vector<pair> &&pairs,
- ::edge cfg_in_edge);
+ phis_for_edge_op (std::vector<pair> &&pairs);
const phis_for_edge_op *
dyn_cast_phis_for_edge_op () const final override { return this; }
@@ -999,7 +998,6 @@ private:
region_model_context *ctxt) const;
std::vector<pair> m_pairs;
- ::edge m_cfg_in_edge;
};
} // namespace ana
diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc
index 13b5dc3cd7333..6ce3f035a9b14 100644
--- a/gcc/analyzer/region-model.cc
+++ b/gcc/analyzer/region-model.cc
@@ -7601,8 +7601,7 @@ rejected_ranges_constraint::dump_to_pp (pretty_printer
*pp) const
/* engine's ctor. */
engine::engine (region_model_manager &mgr,
- const supergraph *sg,
- logger *logger)
+ const supergraph *sg)
: m_mgr (mgr),
m_sg (sg)
{
diff --git a/gcc/analyzer/region-model.h b/gcc/analyzer/region-model.h
index 091f0d0ac4cd8..c89f88947abb8 100644
--- a/gcc/analyzer/region-model.h
+++ b/gcc/analyzer/region-model.h
@@ -1334,8 +1334,7 @@ class engine
{
public:
engine (region_model_manager &mgr,
- const supergraph *sg = nullptr,
- logger *logger = nullptr);
+ const supergraph *sg = nullptr);
const supergraph *get_supergraph () { return m_sg; }
region_model_manager *get_model_manager () { return &m_mgr; }
known_function_manager *get_known_function_manager ()
diff --git a/gcc/analyzer/supergraph-fixup-locations.cc
b/gcc/analyzer/supergraph-fixup-locations.cc
index 41544d756d2f3..84e0edbcefeb7 100644
--- a/gcc/analyzer/supergraph-fixup-locations.cc
+++ b/gcc/analyzer/supergraph-fixup-locations.cc
@@ -36,8 +36,7 @@ class location_fixer
public:
location_fixer (supergraph &sg,
ana::logger *logger)
- : m_sg (sg),
- m_logger (logger),
+ : m_logger (logger),
m_stats ()
{
for (auto node : sg.m_nodes)
@@ -84,8 +83,6 @@ public:
}
private:
- supergraph &m_sg;
- state_purge_map *m_purge_map;
supergraph_manipulation::worklist m_worklist;
ana::logger *m_logger;
struct stats
diff --git a/gcc/analyzer/supergraph-sorting.cc
b/gcc/analyzer/supergraph-sorting.cc
index 8021b15299279..fb0b5763e68c1 100644
--- a/gcc/analyzer/supergraph-sorting.cc
+++ b/gcc/analyzer/supergraph-sorting.cc
@@ -76,7 +76,7 @@ class sorting_worklist
{
public:
sorting_worklist ()
- : m_queue (key_t (*this, nullptr))
+ : m_queue (key_t (nullptr))
{
}
@@ -88,8 +88,8 @@ private:
class key_t
{
public:
- key_t (const sorting_worklist &w, supernode *snode)
- : m_worklist (w), m_snode (snode)
+ key_t (supernode *snode)
+ : m_snode (snode)
{}
bool operator< (const key_t &other) const
@@ -109,7 +109,6 @@ private:
private:
static int cmp (const key_t &ka, const key_t &kb);
- const sorting_worklist &m_worklist;
supernode *m_snode;
};
@@ -126,7 +125,7 @@ private:
void
sorting_worklist::add_node (supernode *n)
{
- m_queue.insert ({*this, n}, n);
+ m_queue.insert ({n}, n);
m_set_of_queued_nodes.insert (n);
}
--
2.26.3