|
| region_model_manager (logger *logger=NULL) |
|
| ~region_model_manager () |
|
unsigned | get_num_symbols () const |
|
unsigned | alloc_symbol_id () |
|
const call_string & | get_empty_call_string () const |
|
const svalue * | get_or_create_constant_svalue (tree type, tree cst_expr) |
|
const svalue * | get_or_create_constant_svalue (tree cst_expr) |
|
const svalue * | get_or_create_int_cst (tree type, const poly_wide_int_ref &cst) |
|
const svalue * | get_or_create_null_ptr (tree pointer_type) |
|
const svalue * | get_or_create_unknown_svalue (tree type) |
|
const svalue * | get_or_create_setjmp_svalue (const setjmp_record &r, tree type) |
|
const svalue * | get_or_create_poisoned_svalue (enum poison_kind kind, tree type) |
|
const svalue * | get_or_create_initial_value (const region *reg, bool check_poisoned=true) |
|
const svalue * | get_ptr_svalue (tree ptr_type, const region *pointee) |
|
const svalue * | get_or_create_unaryop (tree type, enum tree_code op, const svalue *arg) |
|
const svalue * | get_or_create_cast (tree type, const svalue *arg) |
|
const svalue * | get_or_create_binop (tree type, enum tree_code op, const svalue *arg0, const svalue *arg1) |
|
const svalue * | get_or_create_sub_svalue (tree type, const svalue *parent_svalue, const region *subregion) |
|
const svalue * | get_or_create_repeated_svalue (tree type, const svalue *outer_size, const svalue *inner_svalue) |
|
const svalue * | get_or_create_bits_within (tree type, const bit_range &bits, const svalue *inner_svalue) |
|
const svalue * | get_or_create_unmergeable (const svalue *arg) |
|
const svalue * | get_or_create_widening_svalue (tree type, const function_point &point, const svalue *base_svalue, const svalue *iter_svalue) |
|
const svalue * | get_or_create_compound_svalue (tree type, const binding_map &map) |
|
const svalue * | get_or_create_conjured_svalue (tree type, const gimple *stmt, const region *id_reg, const conjured_purge &p, unsigned idx=0) |
|
const svalue * | get_or_create_asm_output_svalue (tree type, const gasm *asm_stmt, unsigned output_idx, const vec< const svalue * > &inputs) |
|
const svalue * | get_or_create_asm_output_svalue (tree type, const char *asm_string, unsigned output_idx, unsigned num_outputs, const vec< const svalue * > &inputs) |
|
const svalue * | get_or_create_const_fn_result_svalue (tree type, tree fndecl, const vec< const svalue * > &inputs) |
|
const svalue * | maybe_get_char_from_string_cst (tree string_cst, tree byte_offset_cst) |
|
const svalue * | create_unique_svalue (tree type) |
|
const root_region * | get_root_region () const |
|
const stack_region * | get_stack_region () const |
|
const heap_region * | get_heap_region () const |
|
const code_region * | get_code_region () const |
|
const globals_region * | get_globals_region () const |
|
const errno_region * | get_errno_region () const |
|
const function_region * | get_region_for_fndecl (tree fndecl) |
|
const label_region * | get_region_for_label (tree label) |
|
const decl_region * | get_region_for_global (tree expr) |
|
const region * | get_field_region (const region *parent, tree field) |
|
const region * | get_element_region (const region *parent, tree element_type, const svalue *index) |
|
const region * | get_offset_region (const region *parent, tree type, const svalue *byte_offset) |
|
const region * | get_sized_region (const region *parent, tree type, const svalue *byte_size_sval) |
|
const region * | get_cast_region (const region *original_region, tree type) |
|
const frame_region * | get_frame_region (const frame_region *calling_frame, const function &fun) |
|
const region * | get_symbolic_region (const svalue *sval) |
|
const string_region * | get_region_for_string (tree string_cst) |
|
const region * | get_bit_range (const region *parent, tree type, const bit_range &bits) |
|
const var_arg_region * | get_var_arg_region (const frame_region *parent, unsigned idx) |
|
const region * | get_unknown_symbolic_region (tree region_type) |
|
const region * | get_region_for_unexpected_tree_code (region_model_context *ctxt, tree t, const dump_location_t &loc) |
|
store_manager * | get_store_manager () |
|
bounded_ranges_manager * | get_range_manager () const |
|
known_function_manager * | get_known_function_manager () |
|
const region * | get_or_create_region_for_heap_alloc (const bitmap &base_regs_in_use) |
|
const region * | create_region_for_alloca (const frame_region *frame) |
|
void | log_stats (logger *logger, bool show_objs) const |
|
void | begin_checking_feasibility (void) |
|
void | end_checking_feasibility (void) |
|
logger * | get_logger () const |
|
void | dump_untracked_regions () const |
|
const svalue * | maybe_fold_binop (tree type, enum tree_code op, const svalue *arg0, const svalue *arg1) |
|
|
typedef hash_map< constant_svalue::key_t, constant_svalue * > | constants_map_t |
|
typedef hash_map< tree, unknown_svalue * > | unknowns_map_t |
|
typedef hash_map< poisoned_svalue::key_t, poisoned_svalue * > | poisoned_values_map_t |
|
typedef hash_map< setjmp_svalue::key_t, setjmp_svalue * > | setjmp_values_map_t |
|
typedef hash_map< const region *, initial_svalue * > | initial_values_map_t |
|
typedef hash_map< region_svalue::key_t, region_svalue * > | pointer_values_map_t |
|
typedef hash_map< unaryop_svalue::key_t, unaryop_svalue * > | unaryop_values_map_t |
|
typedef hash_map< binop_svalue::key_t, binop_svalue * > | binop_values_map_t |
|
typedef hash_map< sub_svalue::key_t, sub_svalue * > | sub_values_map_t |
|
typedef hash_map< repeated_svalue::key_t, repeated_svalue * > | repeated_values_map_t |
|
typedef hash_map< bits_within_svalue::key_t, bits_within_svalue * > | bits_within_values_map_t |
|
typedef hash_map< const svalue *, unmergeable_svalue * > | unmergeable_values_map_t |
|
typedef hash_map< widening_svalue::key_t, widening_svalue @endverbatim * > | widening_values_map_t |
|
typedef hash_map< compound_svalue::key_t, compound_svalue * > | compound_values_map_t |
|
typedef hash_map< conjured_svalue::key_t, conjured_svalue * > | conjured_values_map_t |
|
typedef hash_map< asm_output_svalue::key_t, asm_output_svalue * > | asm_output_values_map_t |
|
typedef hash_map< const_fn_result_svalue::key_t, const_fn_result_svalue * > | const_fn_result_values_map_t |
|
typedef hash_map< tree, function_region * > | fndecls_map_t |
|
typedef fndecls_map_t::iterator | fndecls_iterator_t |
|
typedef hash_map< tree, label_region * > | labels_map_t |
|
typedef labels_map_t::iterator | labels_iterator_t |
|
typedef hash_map< tree, decl_region * > | globals_map_t |
|
typedef globals_map_t::iterator | globals_iterator_t |
|
typedef hash_map< tree, string_region * > | string_map_t |
|
A class responsible for owning and consolidating region and svalue
instances.
region and svalue instances are immutable as far as clients are
concerned, so they are provided as "const" ptrs.