84 for(loopt::const_iterator
90 for(goto_programt::targetst::iterator
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
void get_assigns(const local_may_aliast &local_may_alias, const goto_programt::const_targett, assignst &)
function_mapt function_map
::goto_functiont goto_functiont
A goto function, consisting of function body (see body) and parameter identifiers (see parameter_iden...
goto_functionst goto_functions
GOTO functions.
This class represents an instruction in the GOTO intermediate representation.
targetst targets
The list of successor instructions.
A generic container class for the GOTO intermediate representation of one function.
void insert_before_swap(targett target)
Insertion that preserves jumps to "target".
instructionst::iterator targett
const natural_loops_mutablet::natural_loopt loopt
void havoc_loop(const goto_programt::targett loop_head, const loopt &)
void get_assigns(const loopt &, assignst &)
goto_functiont & goto_function
havoc_loopst(function_assignst &_function_assigns, goto_functiont &_goto_function, const namespacet &ns)
local_may_aliast local_may_alias
goto_functionst::goto_functiont goto_functiont
function_assignst & function_assigns
natural_loops_mutablet natural_loops
std::set< exprt > assignst
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
parentt::loopt natural_loopt
Compute objects assigned to in a function.
void havoc_loops(goto_modelt &goto_model)
Utilities for building havoc code for expressions.
Field-insensitive, location-sensitive may-alias analysis.
goto_programt::targett get_loop_exit(const loopt &loop)
Helper functions for k-induction and loop invariants.
Compute natural loops in a goto_function.
void remove_skip(goto_programt &goto_program, goto_programt::targett begin, goto_programt::targett end)
remove unnecessary skip statements
#define PRECONDITION(CONDITION)