@@ -188,7 +188,7 @@ void goto_symex_statet::assignment(
188
188
const auto level2_it =
189
189
level2.current_names .emplace (l1_identifier, std::make_pair (lhs, 0 )).first ;
190
190
symex_renaming_levelt::increase_counter (level2_it);
191
- set_l2_indices (lhs, ns);
191
+ lhs = set_l2_indices (lhs, ns);
192
192
193
193
// in case we happen to be multi-threaded, record the memory access
194
194
bool is_shared=l2_thread_write_encoding (lhs, ns);
@@ -249,15 +249,15 @@ renamedt<ssa_exprt, L1> goto_symex_statet::set_l1_indices(
249
249
return level1 (level0 (std::move (ssa_expr), ns, source.thread_nr ));
250
250
}
251
251
252
- void goto_symex_statet::set_l2_indices (
253
- ssa_exprt & ssa_expr,
252
+ ssa_exprt goto_symex_statet::set_l2_indices (
253
+ ssa_exprt ssa_expr,
254
254
const namespacet &ns)
255
255
{
256
256
if (!ssa_expr.get_level_2 ().empty ())
257
- return ;
257
+ return ssa_expr ;
258
258
renamedt<ssa_exprt, L2> l2 =
259
259
level2 (level1 (level0 (std::move (ssa_expr), ns, source.thread_nr )));
260
- ssa_expr = l2.get ();
260
+ return l2.get ();
261
261
}
262
262
263
263
template <levelt level>
@@ -332,7 +332,7 @@ exprt goto_symex_statet::rename(exprt expr, const namespacet &ns)
332
332
if (p_it != propagation.end ())
333
333
expr=p_it->second ; // already L2
334
334
else
335
- set_l2_indices (ssa, ns);
335
+ ssa = set_l2_indices (ssa, ns);
336
336
}
337
337
}
338
338
}
@@ -447,7 +447,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
447
447
cond |= guardt{no_write.op ()};
448
448
449
449
if_exprt tmp (cond.as_expr (), ssa_l1, ssa_l1);
450
- set_l2_indices (to_ssa_expr (tmp.true_case ()), ns);
450
+ tmp. true_case () = set_l2_indices (to_ssa_expr (tmp.true_case ()), ns);
451
451
452
452
if (a_s_read.second .empty ())
453
453
{
@@ -480,8 +480,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
480
480
source,
481
481
symex_targett::assignment_typet::PHI);
482
482
483
- set_l2_indices (ssa_l1, ns);
484
- expr=ssa_l1;
483
+ expr = set_l2_indices (ssa_l1, ns);
485
484
486
485
a_s_read.second .push_back (guard);
487
486
if (!no_write.op ().is_false ())
@@ -497,15 +496,13 @@ bool goto_symex_statet::l2_thread_read_encoding(
497
496
// No event and no fresh index, but avoid constant propagation
498
497
if (!record_events)
499
498
{
500
- set_l2_indices (ssa_l1, ns);
501
- expr=ssa_l1;
499
+ expr = set_l2_indices (ssa_l1, ns);
502
500
return true ;
503
501
}
504
502
505
503
// produce a fresh L2 name
506
504
symex_renaming_levelt::increase_counter (level2_it);
507
- set_l2_indices (ssa_l1, ns);
508
- expr=ssa_l1;
505
+ expr = set_l2_indices (ssa_l1, ns);
509
506
510
507
// and record that
511
508
INVARIANT_STRUCTURED (
0 commit comments