@@ -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,7 @@ 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 = set_indices<L1> (std::move (ssa), ns);
308
311
ssa = ssa_l1.get ();
309
312
rename <level>(expr.type (), ssa.get_identifier (), ns);
310
313
ssa.update_type ();
@@ -328,7 +331,7 @@ exprt goto_symex_statet::rename(exprt expr, const namespacet &ns)
328
331
else
329
332
{
330
333
const renamedt<ssa_exprt, L2> l2_ssa =
331
- set_l2_indices (std::move (ssa), ns);
334
+ set_indices<L2> (std::move (ssa), ns);
332
335
ssa = l2_ssa.get ();
333
336
}
334
337
}
@@ -444,7 +447,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
444
447
if (!no_write.op ().is_false ())
445
448
cond |= guardt{no_write.op ()};
446
449
447
- const renamedt<ssa_exprt, L2> l2_true_case = set_l2_indices (ssa_l1, ns);
450
+ const renamedt<ssa_exprt, L2> l2_true_case = set_indices<L2> (ssa_l1, ns);
448
451
449
452
if (a_s_read.second .empty ())
450
453
{
@@ -454,7 +457,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
454
457
symex_renaming_levelt::increase_counter (level2_it);
455
458
a_s_read.first =level2.current_count (l1_identifier);
456
459
}
457
- const renamedt<ssa_exprt, L2> l2_false_case = set_l2_indices (ssa_l1, ns);
460
+ const renamedt<ssa_exprt, L2> l2_false_case = set_indices<L2> (ssa_l1, ns);
458
461
459
462
if_exprt tmp{cond.as_expr (), l2_true_case.get (), l2_false_case.get ()};
460
463
@@ -479,7 +482,7 @@ bool goto_symex_statet::l2_thread_read_encoding(
479
482
symex_targett::assignment_typet::PHI);
480
483
481
484
const renamedt<ssa_exprt, L2> ssa_l2 =
482
- set_l2_indices (std::move (ssa_l1), ns);
485
+ set_indices<L2> (std::move (ssa_l1), ns);
483
486
expr = ssa_l2.get ();
484
487
485
488
a_s_read.second .push_back (guard);
@@ -497,14 +500,14 @@ bool goto_symex_statet::l2_thread_read_encoding(
497
500
if (!record_events)
498
501
{
499
502
const renamedt<ssa_exprt, L2> ssa_l2 =
500
- set_l2_indices (std::move (ssa_l1), ns);
503
+ set_indices<L2> (std::move (ssa_l1), ns);
501
504
expr = ssa_l2.get ();
502
505
return true ;
503
506
}
504
507
505
508
// produce a fresh L2 name
506
509
symex_renaming_levelt::increase_counter (level2_it);
507
- const renamedt<ssa_exprt, L2> ssa_l2 = set_l2_indices (std::move (ssa_l1), ns);
510
+ const renamedt<ssa_exprt, L2> ssa_l2 = set_indices<L2> (std::move (ssa_l1), ns);
508
511
expr = ssa_l2.get ();
509
512
510
513
// and record that
@@ -562,7 +565,7 @@ void goto_symex_statet::rename_address(exprt &expr, const namespacet &ns)
562
565
ssa_exprt &ssa=to_ssa_expr (expr);
563
566
564
567
// only do L1!
565
- const renamedt<ssa_exprt, L1> ssa_l1 = set_l1_indices (std::move (ssa), ns);
568
+ const renamedt<ssa_exprt, L1> ssa_l1 = set_indices<L1> (std::move (ssa), ns);
566
569
ssa = ssa_l1.get ();
567
570
rename <level>(expr.type (), ssa.get_identifier (), ns);
568
571
ssa.update_type ();
0 commit comments