Skip to content

Commit b2b09eb

Browse files
authored
Merge pull request #5769 from tautschnig/forall-rw_range_set
Remove forall_rw_range_set_{r,w}_objects
2 parents da8d539 + cf2d9ab commit b2b09eb

File tree

5 files changed

+27
-33
lines changed

5 files changed

+27
-33
lines changed

.clang-format

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ DerivePointerAlignment: 'false'
3030
DisableFormat: 'false'
3131
ExperimentalAutoDetectBinPacking: 'false'
3232
ForEachMacros: [
33-
'forall_rw_range_set_r_objects',
34-
'forall_rw_range_set_w_objects',
3533
'forall_rw_set_r_entries',
3634
'forall_rw_set_w_entries',
3735
'forall_goto_functions',

src/analyses/dependence_graph.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,11 +161,11 @@ void dep_graph_domaint::data_dependencies(
161161
rw_range_set_value_sett rw_set(ns, value_sets);
162162
goto_rw(function_to, to, rw_set);
163163

164-
forall_rw_range_set_r_objects(it, rw_set)
164+
for(const auto &read_object_entry : rw_set.get_r_set())
165165
{
166-
const range_domaint &r_ranges=rw_set.get_ranges(it);
167-
const rd_range_domaint::ranges_at_loct &w_ranges=
168-
dep_graph.reaching_definitions()[to].get(it->first);
166+
const range_domaint &r_ranges = rw_set.get_ranges(read_object_entry.second);
167+
const rd_range_domaint::ranges_at_loct &w_ranges =
168+
dep_graph.reaching_definitions()[to].get(read_object_entry.first);
169169

170170
for(const auto &w_range : w_ranges)
171171
{
@@ -186,7 +186,7 @@ void dep_graph_domaint::data_dependencies(
186186
}
187187
}
188188

189-
dep_graph.reaching_definitions()[to].clear_cache(it->first);
189+
dep_graph.reaching_definitions()[to].clear_cache(read_object_entry.first);
190190
}
191191
}
192192

src/analyses/goto_rw.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,20 @@ rw_range_sett::~rw_range_sett()
6666
void rw_range_sett::output(std::ostream &out) const
6767
{
6868
out << "READ:\n";
69-
forall_rw_range_set_r_objects(it, *this)
69+
for(const auto &read_object_entry : get_r_set())
7070
{
71-
out << " " << it->first;
72-
it->second->output(ns, out);
71+
out << " " << read_object_entry.first;
72+
read_object_entry.second->output(ns, out);
7373
out << '\n';
7474
}
7575

7676
out << '\n';
7777

7878
out << "WRITE:\n";
79-
forall_rw_range_set_w_objects(it, *this)
79+
for(const auto &written_object_entry : get_w_set())
8080
{
81-
out << " " << it->first;
82-
it->second->output(ns, out);
81+
out << " " << written_object_entry.first;
82+
written_object_entry.second->output(ns, out);
8383
out << '\n';
8484
}
8585
}

src/analyses/goto_rw.h

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,6 @@ Date: April 2010
2121

2222
#include <goto-programs/goto_model.h>
2323

24-
#define forall_rw_range_set_r_objects(it, rw_set) \
25-
for(rw_range_sett::objectst::const_iterator it=(rw_set).get_r_set().begin(); \
26-
it!=(rw_set).get_r_set().end(); ++it)
27-
28-
#define forall_rw_range_set_w_objects(it, rw_set) \
29-
for(rw_range_sett::objectst::const_iterator it=(rw_set).get_w_set().begin(); \
30-
it!=(rw_set).get_w_set().end(); ++it)
31-
3224
class rw_range_sett;
3325
class goto_modelt;
3426

@@ -136,10 +128,11 @@ class rw_range_sett
136128
return w_range_set;
137129
}
138130

139-
const range_domaint &get_ranges(objectst::const_iterator it) const
131+
const range_domaint &
132+
get_ranges(const std::unique_ptr<range_domain_baset> &ranges) const
140133
{
141-
PRECONDITION(dynamic_cast<range_domaint*>(it->second.get())!=nullptr);
142-
return static_cast<const range_domaint &>(*it->second);
134+
PRECONDITION(dynamic_cast<range_domaint *>(ranges.get()) != nullptr);
135+
return static_cast<const range_domaint &>(*ranges);
143136
}
144137

145138
enum class get_modet { LHS_W, READ };
@@ -360,11 +353,12 @@ class rw_guarded_range_set_value_sett:public rw_range_set_value_sett
360353
{
361354
}
362355

363-
const guarded_range_domaint &get_ranges(objectst::const_iterator it) const
356+
const guarded_range_domaint &
357+
get_ranges(const std::unique_ptr<range_domain_baset> &ranges) const
364358
{
365359
PRECONDITION(
366-
dynamic_cast<guarded_range_domaint*>(it->second.get())!=nullptr);
367-
return static_cast<const guarded_range_domaint &>(*it->second);
360+
dynamic_cast<guarded_range_domaint *>(ranges.get()) != nullptr);
361+
return static_cast<const guarded_range_domaint &>(*ranges);
368362
}
369363

370364
void get_objects_rec(

src/analyses/reaching_definitions.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,17 @@ void rd_range_domaint::transform(
139139
goto_rw(to, rw_set);
140140
const bool is_must_alias=rw_set.get_w_set().size()==1;
141141

142-
forall_rw_range_set_w_objects(it, rw_set)
142+
for(const auto &written_object_entry : rw_set.get_w_set())
143143
{
144-
const irep_idt &identifier=it->first;
144+
const irep_idt &identifier = written_object_entry.first;
145145
// ignore symex::invalid_object
146146
const symbolt *symbol_ptr;
147147
if(ns.lookup(identifier, symbol_ptr))
148148
continue;
149149
assert(symbol_ptr!=0);
150150

151-
const range_domaint &ranges=rw_set.get_ranges(it);
151+
const range_domaint &ranges =
152+
rw_set.get_ranges(written_object_entry.second);
152153

153154
if(is_must_alias &&
154155
(!rd->get_is_threaded()(from) ||
@@ -345,9 +346,9 @@ void rd_range_domaint::transform_assign(
345346
goto_rw(function_to, to, rw_set);
346347
const bool is_must_alias=rw_set.get_w_set().size()==1;
347348

348-
forall_rw_range_set_w_objects(it, rw_set)
349+
for(const auto &written_object_entry : rw_set.get_w_set())
349350
{
350-
const irep_idt &identifier=it->first;
351+
const irep_idt &identifier = written_object_entry.first;
351352
// ignore symex::invalid_object
352353
const symbolt *symbol_ptr;
353354
if(ns.lookup(identifier, symbol_ptr))
@@ -357,7 +358,8 @@ void rd_range_domaint::transform_assign(
357358
nullptr_exceptiont,
358359
"Symbol is in symbol table");
359360

360-
const range_domaint &ranges=rw_set.get_ranges(it);
361+
const range_domaint &ranges =
362+
rw_set.get_ranges(written_object_entry.second);
361363

362364
if(is_must_alias &&
363365
(!rd.get_is_threaded()(from) ||

0 commit comments

Comments
 (0)