Skip to content

Commit 229aebe

Browse files
remove_level2 function returning a level1t<exprt>
Make clearer that remove_level2 returns an expression renamed up to level 1.
1 parent 1d837fc commit 229aebe

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/goto-symex/goto_symex_state.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -224,17 +224,16 @@ void goto_symex_statet::assignment(
224224
// update value sets
225225
exprt l1_rhs(rhs);
226226
get_l1_name(l1_rhs);
227-
228-
ssa_exprt l1_lhs(lhs);
229-
l1_lhs.remove_level_2();
227+
level1t<ssa_exprt> l1_lhs = remove_level2(lhs);
230228

231229
if(run_validation_checks)
232230
{
233-
DATA_INVARIANT(!check_renaming_l1(l1_lhs), "lhs renaming failed on l1");
231+
DATA_INVARIANT(
232+
!check_renaming_l1(l1_lhs.expr), "lhs renaming failed on l1");
234233
DATA_INVARIANT(!check_renaming_l1(l1_rhs), "rhs renaming failed on l1");
235234
}
236235

237-
value_set.assign(l1_lhs, l1_rhs, ns, rhs_is_simplified, is_shared);
236+
value_set.assign(l1_lhs.expr, l1_rhs, ns, rhs_is_simplified, is_shared);
238237
}
239238

240239
#if 0

src/goto-symex/renaming_level.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ struct level1t
7171
underlyingt expr;
7272
};
7373

74+
inline level1t<ssa_exprt> remove_level2(ssa_exprt ssa)
75+
{
76+
ssa.remove_level_2();
77+
return level1t<ssa_exprt>{ssa};
78+
}
79+
7480
/// Set the level 0 renaming of SSA expressions.
7581
/// Level 0 corresponds to threads.
7682
/// The renaming is built for one particular interleaving.

0 commit comments

Comments
 (0)