cprover
|
#include <constant_propagator.h>
Public Member Functions | |
valuest () | |
void | output (std::ostream &, const namespacet &) const |
bool | merge (const valuest &src) |
join More... | |
bool | meet (const valuest &src) |
meet More... | |
void | set_to_bottom () |
void | set_to (const irep_idt &lhs_id, const exprt &rhs_val) |
void | set_to (const symbol_exprt &lhs, const exprt &rhs_val) |
bool | is_constant (const exprt &expr) const |
bool | is_array_constant (const exprt &expr) const |
bool | is_constant_address_of (const exprt &expr) const |
bool | set_to_top (const irep_idt &id) |
Do not call this when iterating over replace_const.expr_map! More... | |
bool | set_to_top (const symbol_exprt &expr) |
void | set_to_top () |
Public Attributes | |
replace_symbol_extt | replace_const |
bool | is_bottom |
Definition at line 40 of file constant_propagator.h.
|
inline |
Definition at line 43 of file constant_propagator.h.
bool constant_propagator_domaint::valuest::is_array_constant | ( | const exprt & | expr | ) | const |
Definition at line 280 of file constant_propagator.cpp.
References concatenate_array_id(), replace_symbolt::expr_map, exprt::op0(), exprt::op1(), replace_const, to_symbol_expr(), and exprt::type().
bool constant_propagator_domaint::valuest::is_constant | ( | const exprt & | expr | ) | const |
Definition at line 292 of file constant_propagator.cpp.
References forall_operands, side_effect_exprt::get_statement(), irept::id(), address_of_exprt::object(), to_address_of_expr(), to_side_effect_expr(), and to_symbol_expr().
Referenced by constant_propagator_domaint::assign_rec(), and constant_propagator_domaint::two_way_propagate_rec().
bool constant_propagator_domaint::valuest::is_constant_address_of | ( | const exprt & | expr | ) | const |
Definition at line 320 of file constant_propagator.cpp.
References index_exprt::array(), irept::id(), index_exprt::index(), dereference_exprt::pointer(), member_exprt::struct_op(), to_dereference_expr(), to_index_expr(), and to_member_expr().
bool constant_propagator_domaint::valuest::meet | ( | const valuest & | src | ) |
meet
Definition at line 427 of file constant_propagator.cpp.
References replace_symbolt::expr_map, is_bottom, and replace_const.
Referenced by constant_propagator_domaint::two_way_propagate_rec().
bool constant_propagator_domaint::valuest::merge | ( | const valuest & | src | ) |
join
Definition at line 381 of file constant_propagator.cpp.
References replace_symbolt::expr_map, is_bottom, and replace_const.
Referenced by constant_propagator_domaint::merge().
void constant_propagator_domaint::valuest::output | ( | std::ostream & | out, |
const namespacet & | ns | ||
) | const |
Definition at line 357 of file constant_propagator.cpp.
References from_expr().
Referenced by constant_propagator_domaint::output().
|
inline |
Definition at line 60 of file constant_propagator.h.
References replace_symbolt::expr_map, is_bottom, and replace_const.
Referenced by constant_propagator_domaint::assign(), and set_to().
|
inline |
Definition at line 66 of file constant_propagator.h.
References symbol_exprt::get_identifier(), and set_to().
|
inline |
Definition at line 54 of file constant_propagator.h.
References replace_symbolt::clear(), is_bottom, and replace_const.
Referenced by constant_propagator_domaint::make_bottom(), and constant_propagator_domaint::transform().
bool constant_propagator_domaint::valuest::set_to_top | ( | const irep_idt & | id | ) |
Do not call this when iterating over replace_const.expr_map!
Definition at line 340 of file constant_propagator.cpp.
Referenced by constant_propagator_domaint::assign_rec(), constant_propagator_domaint::make_entry(), constant_propagator_domaint::make_top(), and constant_propagator_domaint::transform().
|
inline |
Definition at line 76 of file constant_propagator.h.
References symbol_exprt::get_identifier(), and set_to_top().
|
inline |
Definition at line 81 of file constant_propagator.h.
References replace_symbolt::clear(), is_bottom, and replace_const.
Referenced by set_to_top().
bool constant_propagator_domaint::valuest::is_bottom |
Definition at line 47 of file constant_propagator.h.
Referenced by meet(), merge(), set_to(), set_to_bottom(), and set_to_top().
replace_symbol_extt constant_propagator_domaint::valuest::replace_const |
Definition at line 46 of file constant_propagator.h.
Referenced by constant_propagator_domaint::ai_simplify(), constant_propagator_domaint::assign(), constant_propagator_domaint::assign_rec(), is_array_constant(), meet(), merge(), set_to(), set_to_bottom(), and set_to_top().