Skip to content

Commit 08c1dfa

Browse files
Make set_l2_indices static
This makes it clearer which variable are used and modified.
1 parent 7f18bcf commit 08c1dfa

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+
symex_level0t level0,
32+
symex_level1t level1,
33+
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
: depth(0),
3240
symex_target(nullptr),
@@ -190,7 +198,7 @@ void goto_symex_statet::assignment(
190198
const auto level2_it =
191199
level2.current_names.emplace(l1_identifier, std::make_pair(lhs, 0)).first;
192200
symex_renaming_levelt::increase_counter(level2_it);
193-
set_l2_indices(lhs, ns);
201+
set_l2_indices(level0, level1, level2, lhs, source.thread_nr, ns);
194202

195203
// in case we happen to be multi-threaded, record the memory access
196204
bool is_shared=l2_thread_write_encoding(lhs, ns);
@@ -261,13 +269,17 @@ static void set_l1_indices(
261269
level1(ssa_expr);
262270
}
263271

264-
void goto_symex_statet::set_l2_indices(
272+
static void set_l2_indices(
273+
symex_level0t level0,
274+
symex_level1t level1,
275+
symex_level2t level2,
265276
ssa_exprt &ssa_expr,
277+
unsigned int thread_nr,
266278
const namespacet &ns)
267279
{
268280
if(!ssa_expr.get_level_2().empty())
269281
return;
270-
level0(ssa_expr, ns, source.thread_nr);
282+
level0(ssa_expr, ns, thread_nr);
271283
level1(ssa_expr);
272284
ssa_expr.set_level_2(level2.current_count(ssa_expr.get_identifier()));
273285
}
@@ -319,7 +331,7 @@ void goto_symex_statet::rename(
319331
if(p_it != propagation.end())
320332
expr=p_it->second; // already L2
321333
else
322-
set_l2_indices(ssa, ns);
334+
set_l2_indices(level0, level1, level2, ssa, source.thread_nr, ns);
323335
}
324336
}
325337
}
@@ -439,7 +451,8 @@ bool goto_symex_statet::l2_thread_read_encoding(
439451
cond |= guardt{no_write.op()};
440452

441453
if_exprt tmp(cond.as_expr(), ssa_l1, ssa_l1);
442-
set_l2_indices(to_ssa_expr(tmp.true_case()), ns);
454+
auto &ssa_true = to_ssa_expr(tmp.true_case());
455+
set_l2_indices(level0, level1, level2, ssa_true, source.thread_nr, ns);
443456

444457
if(a_s_read.second.empty())
445458
{
@@ -472,7 +485,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
472485
source,
473486
symex_targett::assignment_typet::PHI);
474487

475-
set_l2_indices(ssa_l1, ns);
488+
set_l2_indices(level0, level1, level2, ssa_l1, source.thread_nr, ns);
476489
expr=ssa_l1;
477490

478491
a_s_read.second.push_back(guard);
@@ -489,14 +502,14 @@ bool goto_symex_statet::l2_thread_read_encoding(
489502
// No event and no fresh index, but avoid constant propagation
490503
if(!record_events)
491504
{
492-
set_l2_indices(ssa_l1, ns);
505+
set_l2_indices(level0, level1, level2, ssa_l1, source.thread_nr, ns);
493506
expr=ssa_l1;
494507
return true;
495508
}
496509

497510
// produce a fresh L2 name
498511
symex_renaming_levelt::increase_counter(level2_it);
499-
set_l2_indices(ssa_l1, ns);
512+
set_l2_indices(level0, level1, level2, ssa_l1, source.thread_nr, ns);
500513
expr=ssa_l1;
501514

502515
// and record that

src/goto-symex/goto_symex_state.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ class goto_symex_statet final
9393
protected:
9494
void rename_address(exprt &expr, const namespacet &ns, levelt level);
9595

96-
void set_l2_indices(ssa_exprt &expr, const namespacet &ns);
97-
9896
// this maps L1 names to (L2) types
9997
typedef std::unordered_map<irep_idt, typet> l1_typest;
10098
l1_typest l1_types;

0 commit comments

Comments
 (0)