Go to the documentation of this file.
12 #ifndef CPROVER_GOTO_INSTRUMENT_UNWINDSET_H
13 #define CPROVER_GOTO_INSTRUMENT_UNWINDSET_H
40 const std::list<std::string> &unwindset,
48 const std::string &file_name,
58 typedef std::map<irep_idt, optionalt<unsigned>>
loop_mapt;
67 std::string loop_limit,
71 #define OPT_UNWINDSET \
76 #define HELP_UNWINDSET \
77 " --show-loops show the loops in the program\n" \
78 " --unwind nr unwind nr times\n" \
79 " --unwindset [T:]L:B,... unwind loop L with a bound of B\n" \
80 " (optionally restricted to thread T)\n" \
81 " (use --show-loops to get the loop IDs)\n"
83 #endif // CPROVER_GOTO_INSTRUMENT_UNWINDSET_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
void parse_unwindset_file(const std::string &file_name, message_handlert &message_handler)
const std::string thread_id
thread_loop_mapt thread_loop_map
void parse_unwindset(const std::list< std::string > &unwindset, message_handlert &message_handler)
void parse_unwind(const std::string &unwind)
optionalt< unsigned > get_limit(const irep_idt &loop, unsigned thread_id) const
abstract_goto_modelt & goto_model
void parse_unwindset_one_loop(std::string loop_limit, message_handlert &message_handler)
nonstd::optional< T > optionalt
std::map< irep_idt, optionalt< unsigned > > loop_mapt
std::map< std::pair< irep_idt, unsigned >, optionalt< unsigned > > thread_loop_mapt
unwindsett(abstract_goto_modelt &goto_model)
Abstract interface to eager or lazy GOTO models.
optionalt< unsigned > global_limit