Skip to content

Commit 80012ad

Browse files
Make set_l2_indices static
This makes it clearer which variable are used and modified.
1 parent 0252157 commit 80012ad

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

src/goto-symex/goto_symex_state.cpp

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ Author: Daniel Kroening, [email protected]
2727

2828
static void get_l1_name(exprt &expr);
2929

30+
static void set_l2_indices(
31+
const symex_level0t &level0,
32+
const symex_level1t &level1,
33+
const symex_level2t &level2,
34+
ssa_exprt &ssa_expr,
35+
unsigned int thread_nr,
36+
const namespacet &ns);
37+
3038
goto_symex_statet::goto_symex_statet()
3139
: symex_target(nullptr), record_events(true), dirty()
3240
{
@@ -184,7 +192,7 @@ void goto_symex_statet::assignment(
184192
const auto level2_it =
185193
level2.current_names.emplace(l1_identifier, std::make_pair(lhs, 0)).first;
186194
symex_renaming_levelt::increase_counter(level2_it);
187-
set_l2_indices(lhs, ns);
195+
set_l2_indices(level0, level1, level2, lhs, source.thread_nr, ns);
188196

189197
// in case we happen to be multi-threaded, record the memory access
190198
bool is_shared=l2_thread_write_encoding(lhs, ns);
@@ -255,13 +263,17 @@ static void set_l1_indices(
255263
level1(ssa_expr);
256264
}
257265

258-
void goto_symex_statet::set_l2_indices(
266+
static void set_l2_indices(
267+
const symex_level0t &level0,
268+
const symex_level1t &level1,
269+
const symex_level2t &level2,
259270
ssa_exprt &ssa_expr,
271+
unsigned int thread_nr,
260272
const namespacet &ns)
261273
{
262274
if(!ssa_expr.get_level_2().empty())
263275
return;
264-
level0(ssa_expr, ns, source.thread_nr);
276+
level0(ssa_expr, ns, thread_nr);
265277
level1(ssa_expr);
266278
ssa_expr.set_level_2(level2.current_count(ssa_expr.get_identifier()));
267279
}
@@ -313,7 +325,7 @@ void goto_symex_statet::rename(
313325
if(p_it != propagation.end())
314326
expr=p_it->second; // already L2
315327
else
316-
set_l2_indices(ssa, ns);
328+
set_l2_indices(level0, level1, level2, ssa, source.thread_nr, ns);
317329
}
318330
}
319331
}
@@ -430,7 +442,8 @@ bool goto_symex_statet::l2_thread_read_encoding(
430442
cond |= guardt{no_write.op()};
431443

432444
if_exprt tmp(cond.as_expr(), ssa_l1, ssa_l1);
433-
set_l2_indices(to_ssa_expr(tmp.true_case()), ns);
445+
auto &ssa_true = to_ssa_expr(tmp.true_case());
446+
set_l2_indices(level0, level1, level2, ssa_true, source.thread_nr, ns);
434447

435448
if(a_s_read.second.empty())
436449
{
@@ -463,7 +476,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
463476
source,
464477
symex_targett::assignment_typet::PHI);
465478

466-
set_l2_indices(ssa_l1, ns);
479+
set_l2_indices(level0, level1, level2, ssa_l1, source.thread_nr, ns);
467480
expr=ssa_l1;
468481

469482
a_s_read.second.push_back(guard);
@@ -480,14 +493,14 @@ bool goto_symex_statet::l2_thread_read_encoding(
480493
// No event and no fresh index, but avoid constant propagation
481494
if(!record_events)
482495
{
483-
set_l2_indices(ssa_l1, ns);
496+
set_l2_indices(level0, level1, level2, ssa_l1, source.thread_nr, ns);
484497
expr=ssa_l1;
485498
return true;
486499
}
487500

488501
// produce a fresh L2 name
489502
symex_renaming_levelt::increase_counter(level2_it);
490-
set_l2_indices(ssa_l1, ns);
503+
set_l2_indices(level0, level1, level2, ssa_l1, source.thread_nr, ns);
491504
expr=ssa_l1;
492505

493506
// and record that

src/goto-symex/goto_symex_state.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,6 @@ class goto_symex_statet final : public goto_statet
200200
/// Update level 0 and 1 values.
201201

202202
/// Update level 0, 1 and 2 values.
203-
void set_l2_indices(ssa_exprt &expr, const namespacet &ns);
204-
205203
// this maps L1 names to (L2) types
206204
typedef std::unordered_map<irep_idt, typet> l1_typest;
207205
l1_typest l1_types;

0 commit comments

Comments
 (0)