Skip to content

Commit 93e8414

Browse files
Add ordered id_sett to mirror id_usett
1 parent 7742d69 commit 93e8414

File tree

69 files changed

+221
-267
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+221
-267
lines changed

src/analyses/call_graph_helpers.cpp

+12-10
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,26 @@ Author: Chris Smowton, [email protected]
1515
/// \param graph: call graph
1616
/// \param function: function to query
1717
/// \param forwards: if true, get callees; otherwise get callers.
18-
static std::set<irep_idt> get_neighbours(
18+
static id_sett get_neighbours(
1919
const call_grapht::directed_grapht &graph,
2020
const irep_idt &function,
2121
bool forwards)
2222
{
23-
std::set<irep_idt> result;
23+
id_sett result;
2424
const auto &fnode = graph[*(graph.get_node_index(function))];
2525
const auto &neighbours = forwards ? fnode.out : fnode.in;
2626
for(const auto &succ_edge : neighbours)
2727
result.insert(graph[succ_edge.first].function);
2828
return result;
2929
}
3030

31-
std::set<irep_idt> get_callees(
31+
id_sett get_callees(
3232
const call_grapht::directed_grapht &graph, const irep_idt &function)
3333
{
3434
return get_neighbours(graph, function, true);
3535
}
3636

37-
std::set<irep_idt> get_callers(
37+
id_sett get_callers(
3838
const call_grapht::directed_grapht &graph, const irep_idt &function)
3939
{
4040
return get_neighbours(graph, function, false);
@@ -46,27 +46,29 @@ std::set<irep_idt> get_callers(
4646
/// \param function: function to query
4747
/// \param forwards: if true, get reachable functions; otherwise get functions
4848
/// that can reach the given function.
49-
static std::set<irep_idt> get_connected_functions(
49+
static id_sett get_connected_functions(
5050
const call_grapht::directed_grapht &graph,
5151
const irep_idt &function,
5252
bool forwards)
5353
{
5454
std::vector<call_grapht::directed_grapht::node_indext> connected_nodes =
5555
graph.get_reachable(*(graph.get_node_index(function)), forwards);
56-
std::set<irep_idt> result;
56+
id_sett result;
5757
for(const auto i : connected_nodes)
5858
result.insert(graph[i].function);
5959
return result;
6060
}
6161

62-
std::set<irep_idt> get_reachable_functions(
63-
const call_grapht::directed_grapht &graph, const irep_idt &function)
62+
id_sett get_reachable_functions(
63+
const call_grapht::directed_grapht &graph,
64+
const irep_idt &function)
6465
{
6566
return get_connected_functions(graph, function, true);
6667
}
6768

68-
std::set<irep_idt> get_reaching_functions(
69-
const call_grapht::directed_grapht &graph, const irep_idt &function)
69+
id_sett get_reaching_functions(
70+
const call_grapht::directed_grapht &graph,
71+
const irep_idt &function)
7072
{
7173
return get_connected_functions(graph, function, false);
7274
}

src/analyses/call_graph_helpers.h

+12-8
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,32 @@ Author: Chris Smowton, [email protected]
2525
/// \param graph: call graph
2626
/// \param function: function to query
2727
/// \return set of called functions
28-
std::set<irep_idt> get_callees(
29-
const call_grapht::directed_grapht &graph, const irep_idt &function);
28+
id_sett get_callees(
29+
const call_grapht::directed_grapht &graph,
30+
const irep_idt &function);
3031

3132
/// Get functions that call a given function
3233
/// \param graph: call graph
3334
/// \param function: function to query
3435
/// \return set of caller functions
35-
std::set<irep_idt> get_callers(
36-
const call_grapht::directed_grapht &graph, const irep_idt &function);
36+
id_sett get_callers(
37+
const call_grapht::directed_grapht &graph,
38+
const irep_idt &function);
3739

3840
/// Get functions reachable from a given function
3941
/// \param graph: call graph
4042
/// \param function: function to query
4143
/// \return set of reachable functions, including `function`
42-
std::set<irep_idt> get_reachable_functions(
43-
const call_grapht::directed_grapht &graph, const irep_idt &function);
44+
id_sett get_reachable_functions(
45+
const call_grapht::directed_grapht &graph,
46+
const irep_idt &function);
4447

4548
/// Get functions that can reach a given function
4649
/// \param graph: call graph
4750
/// \param function: function to query
4851
/// \return set of functions that can reach the target, including `function`
49-
std::set<irep_idt> get_reaching_functions(
50-
const call_grapht::directed_grapht &graph, const irep_idt &function);
52+
id_sett get_reaching_functions(
53+
const call_grapht::directed_grapht &graph,
54+
const irep_idt &function);
5155

5256
#endif

src/analyses/escape_analysis.cpp

+17-21
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ irep_idt escape_domaint::get_function(const exprt &lhs)
4242

4343
void escape_domaint::assign_lhs_cleanup(
4444
const exprt &lhs,
45-
const std::set<irep_idt> &cleanup_functions)
45+
const id_sett &cleanup_functions)
4646
{
4747
if(lhs.id()==ID_symbol)
4848
{
@@ -61,7 +61,7 @@ void escape_domaint::assign_lhs_cleanup(
6161

6262
void escape_domaint::assign_lhs_aliases(
6363
const exprt &lhs,
64-
const std::set<irep_idt> &alias_set)
64+
const id_sett &alias_set)
6565
{
6666
if(lhs.id()==ID_symbol)
6767
{
@@ -82,7 +82,7 @@ void escape_domaint::assign_lhs_aliases(
8282

8383
void escape_domaint::get_rhs_cleanup(
8484
const exprt &rhs,
85-
std::set<irep_idt> &cleanup_functions)
85+
id_sett &cleanup_functions)
8686
{
8787
if(rhs.id()==ID_symbol)
8888
{
@@ -110,9 +110,7 @@ void escape_domaint::get_rhs_cleanup(
110110
}
111111
}
112112

113-
void escape_domaint::get_rhs_aliases(
114-
const exprt &rhs,
115-
std::set<irep_idt> &alias_set)
113+
void escape_domaint::get_rhs_aliases(const exprt &rhs, id_sett &alias_set)
116114
{
117115
if(rhs.id()==ID_symbol)
118116
{
@@ -144,7 +142,7 @@ void escape_domaint::get_rhs_aliases(
144142

145143
void escape_domaint::get_rhs_aliases_address_of(
146144
const exprt &rhs,
147-
std::set<irep_idt> &alias_set)
145+
id_sett &alias_set)
148146
{
149147
if(rhs.id()==ID_symbol)
150148
{
@@ -182,11 +180,11 @@ void escape_domaint::transform(
182180
{
183181
const code_assignt &code_assign=to_code_assign(instruction.code);
184182

185-
std::set<irep_idt> cleanup_functions;
183+
id_sett cleanup_functions;
186184
get_rhs_cleanup(code_assign.rhs(), cleanup_functions);
187185
assign_lhs_cleanup(code_assign.lhs(), cleanup_functions);
188186

189-
std::set<irep_idt> aliases;
187+
id_sett aliases;
190188
get_rhs_aliases(code_assign.rhs(), aliases);
191189
assign_lhs_aliases(code_assign.lhs(), aliases);
192190
}
@@ -196,15 +194,15 @@ void escape_domaint::transform(
196194
{
197195
const code_declt &code_decl=to_code_decl(instruction.code);
198196
aliases.isolate(code_decl.get_identifier());
199-
assign_lhs_cleanup(code_decl.symbol(), std::set<irep_idt>());
197+
assign_lhs_cleanup(code_decl.symbol(), id_sett());
200198
}
201199
break;
202200

203201
case DEAD:
204202
{
205203
const code_deadt &code_dead=to_code_dead(instruction.code);
206204
aliases.isolate(code_dead.get_identifier());
207-
assign_lhs_cleanup(code_dead.symbol(), std::set<irep_idt>());
205+
assign_lhs_cleanup(code_dead.symbol(), id_sett());
208206
}
209207
break;
210208

@@ -229,7 +227,7 @@ void escape_domaint::transform(
229227
if(!cleanup_function.empty())
230228
{
231229
// may alias other stuff
232-
std::set<irep_idt> lhs_set;
230+
id_sett lhs_set;
233231
get_rhs_aliases(lhs, lhs_set);
234232

235233
for(const auto &lhs : lhs_set)
@@ -309,8 +307,8 @@ bool escape_domaint::merge(
309307

310308
for(const auto &cleanup : b.cleanup_map)
311309
{
312-
const std::set<irep_idt> &b_cleanup=cleanup.second.cleanup_functions;
313-
std::set<irep_idt> &a_cleanup=cleanup_map[cleanup.first].cleanup_functions;
310+
const id_sett &b_cleanup = cleanup.second.cleanup_functions;
311+
id_sett &a_cleanup = cleanup_map[cleanup.first].cleanup_functions;
314312
auto old_size=a_cleanup.size();
315313
a_cleanup.insert(b_cleanup.begin(), b_cleanup.end());
316314
if(a_cleanup.size()!=old_size)
@@ -355,9 +353,7 @@ bool escape_domaint::merge(
355353
return changed;
356354
}
357355

358-
void escape_domaint::check_lhs(
359-
const exprt &lhs,
360-
std::set<irep_idt> &cleanup_functions)
356+
void escape_domaint::check_lhs(const exprt &lhs, id_sett &cleanup_functions)
361357
{
362358
if(lhs.id()==ID_symbol)
363359
{
@@ -394,7 +390,7 @@ void escape_analysist::insert_cleanup(
394390
goto_functionst::goto_functiont &goto_function,
395391
goto_programt::targett location,
396392
const exprt &lhs,
397-
const std::set<irep_idt> &cleanup_functions,
393+
const id_sett &cleanup_functions,
398394
bool is_object,
399395
const namespacet &ns)
400396
{
@@ -446,7 +442,7 @@ void escape_analysist::instrument(
446442
{
447443
const code_assignt &code_assign=to_code_assign(instruction.code);
448444

449-
std::set<irep_idt> cleanup_functions;
445+
id_sett cleanup_functions;
450446
operator[](i_it).check_lhs(code_assign.lhs(), cleanup_functions);
451447
insert_cleanup(
452448
f_it->second,
@@ -462,7 +458,7 @@ void escape_analysist::instrument(
462458
{
463459
const code_deadt &code_dead=to_code_dead(instruction.code);
464460

465-
std::set<irep_idt> cleanup_functions1;
461+
id_sett cleanup_functions1;
466462

467463
escape_domaint &d=operator[](i_it);
468464

@@ -477,7 +473,7 @@ void escape_analysist::instrument(
477473
m_it->second.cleanup_functions.end());
478474
}
479475

480-
std::set<irep_idt> cleanup_functions2;
476+
id_sett cleanup_functions2;
481477

482478
d.check_lhs(code_dead.symbol(), cleanup_functions2);
483479

src/analyses/escape_analysis.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class escape_domaint:public ai_domain_baset
8282

8383
struct cleanupt
8484
{
85-
std::set<irep_idt> cleanup_functions;
85+
id_sett cleanup_functions;
8686
};
8787

8888
// We track a set of 'cleanup functions' for specific
@@ -93,13 +93,13 @@ class escape_domaint:public ai_domain_baset
9393

9494
private:
9595
tvt has_values;
96-
void assign_lhs_cleanup(const exprt &, const std::set<irep_idt> &);
97-
void get_rhs_cleanup(const exprt &, std::set<irep_idt> &);
98-
void assign_lhs_aliases(const exprt &, const std::set<irep_idt> &);
99-
void get_rhs_aliases(const exprt &, std::set<irep_idt> &);
100-
void get_rhs_aliases_address_of(const exprt &, std::set<irep_idt> &);
96+
void assign_lhs_cleanup(const exprt &, const id_sett &);
97+
void get_rhs_cleanup(const exprt &, id_sett &);
98+
void assign_lhs_aliases(const exprt &, const id_sett &);
99+
void get_rhs_aliases(const exprt &, id_sett &);
100+
void get_rhs_aliases_address_of(const exprt &, id_sett &);
101101
irep_idt get_function(const exprt &);
102-
void check_lhs(const exprt &, std::set<irep_idt> &);
102+
void check_lhs(const exprt &, id_sett &);
103103

104104
friend class escape_analysist;
105105

@@ -122,7 +122,7 @@ class escape_analysist:public ait<escape_domaint>
122122
goto_functionst::goto_functiont &,
123123
goto_programt::targett,
124124
const exprt &,
125-
const std::set<irep_idt> &,
125+
const id_sett &,
126126
bool is_object,
127127
const namespacet &);
128128
};

src/analyses/flow_insensitive_analysis.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,10 @@ class flow_insensitive_analysis_baset
187187
return l;
188188
}
189189

190-
typedef std::set<irep_idt> functions_donet;
190+
typedef id_sett functions_donet;
191191
functions_donet functions_done;
192192

193-
typedef std::set<irep_idt> recursion_sett;
193+
typedef id_sett recursion_sett;
194194
recursion_sett recursion_set;
195195

196196
bool initialized;

src/analyses/global_may_alias.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Author: Daniel Kroening, [email protected]
1313

1414
void global_may_alias_domaint::assign_lhs_aliases(
1515
const exprt &lhs,
16-
const std::set<irep_idt> &alias_set)
16+
const id_sett &alias_set)
1717
{
1818
if(lhs.id()==ID_symbol)
1919
{
@@ -30,7 +30,7 @@ void global_may_alias_domaint::assign_lhs_aliases(
3030

3131
void global_may_alias_domaint::get_rhs_aliases(
3232
const exprt &rhs,
33-
std::set<irep_idt> &alias_set)
33+
id_sett &alias_set)
3434
{
3535
if(rhs.id()==ID_symbol)
3636
{
@@ -58,7 +58,7 @@ void global_may_alias_domaint::get_rhs_aliases(
5858

5959
void global_may_alias_domaint::get_rhs_aliases_address_of(
6060
const exprt &rhs,
61-
std::set<irep_idt> &alias_set)
61+
id_sett &alias_set)
6262
{
6363
if(rhs.id()==ID_symbol)
6464
{
@@ -92,7 +92,7 @@ void global_may_alias_domaint::transform(
9292
{
9393
const code_assignt &code_assign=to_code_assign(instruction.code);
9494

95-
std::set<irep_idt> aliases;
95+
id_sett aliases;
9696
get_rhs_aliases(code_assign.rhs(), aliases);
9797
assign_lhs_aliases(code_assign.lhs(), aliases);
9898
}

src/analyses/global_may_alias.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ class global_may_alias_domaint:public ai_domain_baset
7979
private:
8080
tvt has_values;
8181

82-
void assign_lhs_aliases(const exprt &, const std::set<irep_idt> &);
83-
void get_rhs_aliases(const exprt &, std::set<irep_idt> &);
84-
void get_rhs_aliases_address_of(const exprt &, std::set<irep_idt> &);
82+
void assign_lhs_aliases(const exprt &, const id_sett &);
83+
void get_rhs_aliases(const exprt &, id_sett &);
84+
void get_rhs_aliases_address_of(const exprt &, id_sett &);
8585
};
8686

8787
class global_may_alias_analysist:public ait<global_may_alias_domaint>

src/analyses/invariant_propagation.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ void invariant_propagationt::add_objects(
127127
forall_goto_functions(f_it, goto_functions)
128128
{
129129
// get the locals
130-
std::set<irep_idt> locals;
130+
id_sett locals;
131131
get_local_identifiers(f_it->second, locals);
132132

133133
const goto_programt &goto_program=f_it->second.body;

src/analyses/static_analysis.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -221,10 +221,10 @@ class static_analysis_baset
221221
// for concurrent fixedpoint
222222
virtual bool merge_shared(statet &a, const statet &b, locationt to)=0;
223223

224-
typedef std::set<irep_idt> functions_donet;
224+
typedef id_sett functions_donet;
225225
functions_donet functions_done;
226226

227-
typedef std::set<irep_idt> recursion_sett;
227+
typedef id_sett recursion_sett;
228228
recursion_sett recursion_set;
229229

230230
void generate_states(

0 commit comments

Comments
 (0)