void symex_slicet::slice(symex_target_equationt::SSA_stept &SSA_step) { get_symbols(SSA_step.guard_expr); switch(SSA_step.type) { case goto_trace_stept::ASSERT: get_symbols(SSA_step.cond_expr); break; case goto_trace_stept::ASSUME: get_symbols(SSA_step.cond_expr); break; case goto_trace_stept::LOCATION: // ignore break; case goto_trace_stept::ASSIGNMENT: slice_assignment(SSA_step); break; case goto_trace_stept::OUTPUT: break; default: assert(false); } }
void symex_slicet::slice(symex_target_equationt::SSA_stept &SSA_step) { get_symbols(SSA_step.guard); switch(SSA_step.type) { case goto_trace_stept::ASSERT: get_symbols(SSA_step.cond_expr); break; case goto_trace_stept::ASSUME: get_symbols(SSA_step.cond_expr); break; case goto_trace_stept::LOCATION: // ignore break; case goto_trace_stept::ASSIGNMENT: slice_assignment(SSA_step); break; case goto_trace_stept::DECL: slice_decl(SSA_step); break; case goto_trace_stept::OUTPUT: case goto_trace_stept::INPUT: break; case goto_trace_stept::DEAD: // ignore for now break; case goto_trace_stept::CONSTRAINT: case goto_trace_stept::SHARED_READ: case goto_trace_stept::SHARED_WRITE: case goto_trace_stept::ATOMIC_BEGIN: case goto_trace_stept::ATOMIC_END: case goto_trace_stept::SPAWN: case goto_trace_stept::MEMORY_BARRIER: // ignore for now break; case goto_trace_stept::FUNCTION_CALL: case goto_trace_stept::FUNCTION_RETURN: // ignore for now break; default: assert(false); } }