File tree Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,9 @@ void local_SSAt::build_SSA()
5151 build_function_call (i_it);
5252// build_unknown_objs(i_it);
5353 collect_record_frees (i_it);
54+
55+ if (options.get_bool_option (" competition-mode" ))
56+ disable_unsupported_instructions (i_it);
5457 }
5558
5659 // collect custom templates in loop heads
@@ -1644,3 +1647,13 @@ bool local_SSAt::can_reuse_symderef(
16441647
16451648 return true ;
16461649}
1650+
1651+ void local_SSAt::disable_unsupported_instructions (locationt loc)
1652+ {
1653+ if (loc->is_other ())
1654+ {
1655+ auto st = loc->get_code ().get_statement ();
1656+ if (st==" array_copy" || st==" array_replace" )
1657+ assert (false );
1658+ }
1659+ }
Original file line number Diff line number Diff line change @@ -271,6 +271,9 @@ class local_SSAt
271271 void build_assertions (locationt loc);
272272 void build_unknown_objs (locationt loc);
273273
274+ // competition-mode specific checks
275+ void disable_unsupported_instructions (locationt loc);
276+
274277 void collect_allocation_guards (const code_assignt &assign, locationt loc);
275278 void get_alloc_guard_rec (const exprt &expr, exprt old_guard);
276279 void collect_record_frees (locationt loc);
You can’t perform that action at this time.
0 commit comments