20 std::set<irep_idt> used_functions;
21 std::list<goto_functionst::function_mapt::iterator> unused_functions;
25 for(goto_functionst::function_mapt::iterator it=
30 if(used_functions.find(it->first)==used_functions.end())
31 unused_functions.push_back(it);
36 if(!unused_functions.empty())
39 <<
"Dropping " << unused_functions.size() <<
" of " <<
44 for(
const auto &f : unused_functions)
51 std::set<irep_idt> &seen)
53 std::pair<std::set<irep_idt>::const_iterator,
bool> res =
60 goto_functionst::function_mapt::const_iterator f_it =
void remove_unused_functions(goto_functionst &functions, message_handlert &message_handler)
static mstreamt & eom(mstreamt &m)
const irep_idt & id() const
static irep_idt entry_point()
const irep_idt & get(const irep_namet &name) const
function_mapt function_map
void find_used_functions(const irep_idt &start, goto_functionst &functions, std::set< irep_idt > &seen)
const codet & to_code(const exprt &expr)
#define forall_goto_program_instructions(it, program)
const code_function_callt & to_code_function_call(const codet &code)