@@ -241,17 +241,10 @@ goto_symex_statet::set_l0_indices(ssa_exprt ssa_expr, const namespacet &ns)
241
241
return level0 (std::move (ssa_expr), ns, source.thread_nr );
242
242
}
243
243
244
- void goto_symex_statet::set_l1_indices (
245
- ssa_exprt &ssa_expr,
246
- const namespacet &ns)
244
+ renamedt<ssa_exprt, L1>
245
+ goto_symex_statet::set_l1_indices (ssa_exprt ssa_expr, const namespacet &ns)
247
246
{
248
- if (!ssa_expr.get_level_2 ().empty ())
249
- return ;
250
- if (!ssa_expr.get_level_1 ().empty ())
251
- return ;
252
- renamedt<ssa_exprt, L1> l1 =
253
- level1 (level0 (std::move (ssa_expr), ns, source.thread_nr ));
254
- ssa_expr = l1.get ();
247
+ return level1 (level0 (std::move (ssa_expr), ns, source.thread_nr ));
255
248
}
256
249
257
250
void goto_symex_statet::set_l2_indices (
@@ -277,7 +270,10 @@ ssa_exprt goto_symex_statet::rename_ssa(ssa_exprt ssa, const namespacet &ns)
277
270
ssa = ssa_l0.get ();
278
271
}
279
272
else if (level == L1)
280
- set_l1_indices (ssa, ns);
273
+ {
274
+ const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move (ssa), ns);
275
+ ssa = ssa_l1.get ();
276
+ }
281
277
else
282
278
UNREACHABLE;
283
279
@@ -312,7 +308,8 @@ exprt goto_symex_statet::rename(exprt expr, const namespacet &ns)
312
308
}
313
309
else if (level==L2)
314
310
{
315
- set_l1_indices (ssa, ns);
311
+ const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move (ssa), ns);
312
+ ssa = ssa_l1.get ();
316
313
rename <level>(expr.type (), ssa.get_identifier (), ns);
317
314
ssa.update_type ();
318
315
@@ -563,8 +560,8 @@ void goto_symex_statet::rename_address(exprt &expr, const namespacet &ns)
563
560
ssa_exprt &ssa=to_ssa_expr (expr);
564
561
565
562
// only do L1!
566
- set_l1_indices (ssa, ns);
567
-
563
+ const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move ( ssa) , ns);
564
+ ssa = ssa_l1. get ();
568
565
rename <level>(expr.type (), ssa.get_identifier (), ns);
569
566
ssa.update_type ();
570
567
}
0 commit comments