@@ -156,20 +156,23 @@ class goto_symex_is_constantt : public is_constantt
156
156
}
157
157
};
158
158
159
+ template <>
159
160
renamedt<ssa_exprt, L0>
160
- goto_symex_statet::set_l0_indices (ssa_exprt ssa_expr, const namespacet &ns)
161
+ goto_symex_statet::set_indices<L0> (ssa_exprt ssa_expr, const namespacet &ns)
161
162
{
162
163
return level0 (std::move (ssa_expr), ns, source.thread_nr );
163
164
}
164
165
166
+ template <>
165
167
renamedt<ssa_exprt, L1>
166
- goto_symex_statet::set_l1_indices (ssa_exprt ssa_expr, const namespacet &ns)
168
+ goto_symex_statet::set_indices<L1> (ssa_exprt ssa_expr, const namespacet &ns)
167
169
{
168
170
return level1 (level0 (std::move (ssa_expr), ns, source.thread_nr ));
169
171
}
170
172
173
+ template <>
171
174
renamedt<ssa_exprt, L2>
172
- goto_symex_statet::set_l2_indices (ssa_exprt ssa_expr, const namespacet &ns)
175
+ goto_symex_statet::set_indices<L2> (ssa_exprt ssa_expr, const namespacet &ns)
173
176
{
174
177
return level2 (level1 (level0 (std::move (ssa_expr), ns, source.thread_nr )));
175
178
}
@@ -206,7 +209,7 @@ void goto_symex_statet::assignment(
206
209
const auto level2_it =
207
210
level2.current_names .emplace (l1_identifier, std::make_pair (lhs, 0 )).first ;
208
211
symex_renaming_levelt::increase_counter (level2_it);
209
- const renamedt<ssa_exprt, L2> l2_lhs = set_l2_indices (std::move (lhs), ns);
212
+ const renamedt<ssa_exprt, L2> l2_lhs = set_indices<L2> (std::move (lhs), ns);
210
213
lhs = l2_lhs.get ();
211
214
212
215
// in case we happen to be multi-threaded, record the memory access
@@ -262,12 +265,12 @@ ssa_exprt goto_symex_statet::rename_ssa(ssa_exprt ssa, const namespacet &ns)
262
265
" rename_ssa can only be used for levels L0 and L1" );
263
266
if (level == L0)
264
267
{
265
- const renamedt<ssa_exprt, L0> ssa_l0 = set_l0_indices (std::move (ssa), ns);
268
+ const renamedt<ssa_exprt, L0> ssa_l0 = set_indices<L0> (std::move (ssa), ns);
266
269
ssa = ssa_l0.get ();
267
270
}
268
271
else if (level == L1)
269
272
{
270
- const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move (ssa), ns);
273
+ const renamedt<ssa_exprt, L1> ssa_l1 = set_indices<L1> (std::move (ssa), ns);
271
274
ssa = ssa_l1.get ();
272
275
}
273
276
else
@@ -304,7 +307,8 @@ exprt goto_symex_statet::rename(exprt expr, const namespacet &ns)
304
307
}
305
308
else if (level==L2)
306
309
{
307
- const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move (ssa), ns);
310
+ const renamedt<ssa_exprt, L1> ssa_l1 =
311
+ set_indices<L1>(std::move (ssa), ns);
308
312
ssa = ssa_l1.get ();
309
313
rename <level>(expr.type (), ssa.get_identifier (), ns);
310
314
ssa.update_type ();
@@ -328,7 +332,7 @@ exprt goto_symex_statet::rename(exprt expr, const namespacet &ns)
328
332
else
329
333
{
330
334
const renamedt<ssa_exprt, L2> l2_ssa =
331
- set_l2_indices (std::move (ssa), ns);
335
+ set_indices<L2> (std::move (ssa), ns);
332
336
ssa = l2_ssa.get ();
333
337
}
334
338
}
@@ -444,7 +448,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
444
448
if (!no_write.op ().is_false ())
445
449
cond |= guardt{no_write.op ()};
446
450
447
- const renamedt<ssa_exprt, L2> l2_true_case = set_l2_indices (ssa_l1, ns);
451
+ const renamedt<ssa_exprt, L2> l2_true_case = set_indices<L2> (ssa_l1, ns);
448
452
449
453
if (a_s_read.second .empty ())
450
454
{
@@ -454,7 +458,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
454
458
symex_renaming_levelt::increase_counter (level2_it);
455
459
a_s_read.first =level2.current_count (l1_identifier);
456
460
}
457
- const renamedt<ssa_exprt, L2> l2_false_case = set_l2_indices (ssa_l1, ns);
461
+ const renamedt<ssa_exprt, L2> l2_false_case = set_indices<L2> (ssa_l1, ns);
458
462
459
463
if_exprt tmp{cond.as_expr (), l2_true_case.get (), l2_false_case.get ()};
460
464
@@ -479,7 +483,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
479
483
symex_targett::assignment_typet::PHI);
480
484
481
485
const renamedt<ssa_exprt, L2> ssa_l2 =
482
- set_l2_indices (std::move (ssa_l1), ns);
486
+ set_indices<L2> (std::move (ssa_l1), ns);
483
487
expr = ssa_l2.get ();
484
488
485
489
a_s_read.second .push_back (guard);
@@ -497,14 +501,14 @@ bool goto_symex_statet::l2_thread_read_encoding(
497
501
if (!record_events)
498
502
{
499
503
const renamedt<ssa_exprt, L2> ssa_l2 =
500
- set_l2_indices (std::move (ssa_l1), ns);
504
+ set_indices<L2> (std::move (ssa_l1), ns);
501
505
expr = ssa_l2.get ();
502
506
return true ;
503
507
}
504
508
505
509
// produce a fresh L2 name
506
510
symex_renaming_levelt::increase_counter (level2_it);
507
- const renamedt<ssa_exprt, L2> ssa_l2 = set_l2_indices (std::move (ssa_l1), ns);
511
+ const renamedt<ssa_exprt, L2> ssa_l2 = set_indices<L2> (std::move (ssa_l1), ns);
508
512
expr = ssa_l2.get ();
509
513
510
514
// and record that
@@ -562,7 +566,7 @@ void goto_symex_statet::rename_address(exprt &expr, const namespacet &ns)
562
566
ssa_exprt &ssa=to_ssa_expr (expr);
563
567
564
568
// only do L1!
565
- const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move (ssa), ns);
569
+ const renamedt<ssa_exprt, L1> ssa_l1 = set_indices<L1> (std::move (ssa), ns);
566
570
ssa = ssa_l1.get ();
567
571
rename <level>(expr.type (), ssa.get_identifier (), ns);
568
572
ssa.update_type ();
0 commit comments