Go to the documentation of this file.
12 #ifndef CPROVER_POINTER_ANALYSIS_VALUE_SET_ANALYSIS_FIVR_H
13 #define CPROVER_POINTER_ANALYSIS_VALUE_SET_ANALYSIS_FIVR_H
52 std::ostream &out)
override
56 out <<
"**** " << it->source_location <<
'\n';
57 output(function_id, it, out);
74 std::list<value_set_fivrt::entryt> &dest);
78 const std::string &suffix,
80 std::list<value_set_fivrt::entryt> &dest);
88 std::list<exprt> &dest)
override
100 #endif // CPROVER_POINTER_ANALYSIS_VALUE_SET_ANALYSIS_FIVR_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
The type of an expression, extends irept.
track_optionst track_options
void set_from(const irep_idt &function, unsigned inx)
Base class for all expressions.
Value Set (Flow Insensitive, Sharing, Validity Regions)
void output(const irep_idt &function_id, locationt l, std::ostream &out)
void add_vars(const goto_functionst &goto_functions)
void get_entries(const symbolt &symbol, std::list< value_set_fivrt::entryt > &dest)
bool check_type(const typet &type)
void get_entries_rec(const irep_idt &identifier, const std::string &suffix, const typet &type, std::list< value_set_fivrt::entryt > &dest)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
void output(const namespacet &ns, std::ostream &out) const override
void get_value_set(const exprt &expr, std::list< exprt > &expr_set, const namespacet &ns) const
void initialize(const goto_programt &goto_program) override
void get_values(const irep_idt &function_id, locationt l, const exprt &expr, std::list< exprt > &dest) override
std::ostream & output_instruction(const namespacet &ns, const irep_idt &identifier, std::ostream &out, const instructionst::value_type &instruction) const
Output a single instruction.
unsigned from_target_index
static hash_numbering< irep_idt, irep_id_hash > function_numbering
value_set_fivrt value_set
void set_to(const irep_idt &function, unsigned inx)
@ TRACK_FUNCTION_POINTERS
Flow Insensitive Static Analysis.
flow_insensitive_analysist< value_set_domain_fivrt > baset
void get_globals(std::list< value_set_fivrt::entryt > &dest)
virtual void output(const goto_functionst &goto_functions, std::ostream &out)
value_set_domain_fivrt state
A collection of goto functions.
goto_programt::const_targett locationt
void initialize(const goto_functionst &goto_functions) override
A generic container class for the GOTO intermediate representation of one function.
void output(const irep_idt &function_id, const goto_programt &goto_program, std::ostream &out) override
value_set_analysis_fivrt(const namespacet &_ns, track_optionst _track_options=TRACK_ALL_POINTERS)
void add_vars(const goto_programt &goto_programa)
#define forall_goto_program_instructions(it, program)