PIPS
|
#include <stdio.h>
#include <string.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "ri-util.h"
#include "effects.h"
#include "effects-util.h"
#include "misc.h"
Go to the source code of this file.
Functions | |
entity | undefined_pointer_value_entity () |
pointer_values.c More... | |
cell | make_undefined_pointer_value_cell () |
bool | undefined_pointer_value_entity_p (entity e) |
bool | undefined_pointer_value_cell_p (cell c) |
entity | null_pointer_value_entity () |
cell | make_null_pointer_value_cell () |
bool | null_pointer_value_entity_p (entity e) |
bool | null_pointer_value_cell_p (cell c) |
bool | abstract_pointer_value_entity_p (entity e) |
bool | abstract_pointer_value_cell_p (cell c) |
cell_relation | make_value_of_pointer_value (cell c1, cell c2, tag app_tag, descriptor d) |
cell_relation | make_address_of_pointer_value (cell c1, cell c2, tag app_tag, descriptor d) |
bool | pv_cells_syntactically_equal_p (cell_relation pv1, cell_relation pv2) |
bool | pv_cells_mergeable_p (cell_relation pv1, cell_relation pv2) |
Definition at line 121 of file pointer_values.c.
References abstract_pointer_value_entity_p(), and cell_entity().
Referenced by kill_pointer_value().
Definition at line 115 of file pointer_values.c.
References null_pointer_value_entity_p(), and undefined_pointer_value_entity_p().
Referenced by abstract_pointer_value_cell_p().
cell_relation make_address_of_pointer_value | ( | cell | c1, |
cell | c2, | ||
tag | app_tag, | ||
descriptor | d | ||
) |
c1 | 1 |
c2 | 2 |
app_tag | pp_tag |
Definition at line 142 of file pointer_values.c.
References make_approximation(), make_cell_interpretation_address_of(), make_cell_interpretation_value_of(), make_cell_relation(), make_interpreted_cell(), and UU.
Referenced by make_anywhere_anywhere_pvs(), make_simple_pv_from_simple_effects(), module_initial_parameter_pv(), simple_pv_may_union(), simple_pv_must_union(), and simple_pv_translate().
cell make_null_pointer_value_cell | ( | void | ) |
Definition at line 93 of file pointer_values.c.
References make_cell_reference(), make_reference(), NIL, and null_pointer_value_entity().
Referenced by call_to_post_pv(), expression_to_post_pv(), null_to_sinks(), pointer_formal_parameter_to_stub_points_to(), and reference_condition_to_points_to().
cell make_undefined_pointer_value_cell | ( | void | ) |
Definition at line 62 of file pointer_values.c.
References make_cell_reference(), make_reference(), NIL, and undefined_pointer_value_entity().
Referenced by expression_to_post_pv(), free_to_post_pv(), make_simple_pv_from_simple_effects(), and pointer_values_remove_var().
cell_relation make_value_of_pointer_value | ( | cell | c1, |
cell | c2, | ||
tag | app_tag, | ||
descriptor | d | ||
) |
c1 | 1 |
c2 | 2 |
app_tag | pp_tag |
Definition at line 129 of file pointer_values.c.
References cell_relation_undefined, make_approximation(), make_cell_interpretation_value_of(), make_cell_relation(), make_interpreted_cell(), null_pointer_value_cell_p(), undefined_pointer_value_cell_p(), and UU.
Referenced by kill_pointer_value(), make_simple_pv_from_simple_effects(), and simple_pv_translate().
Definition at line 104 of file pointer_values.c.
References cell_gap_p, cell_preference, cell_reference, cell_reference_p, null_pointer_value_entity_p(), preference_reference, and reference_variable.
Referenced by generic_effect_find_aliases_with_simple_pointer_values(), generic_effect_find_equivalent_simple_pointer_values(), make_value_of_pointer_value(), multiple_pointer_assignment_to_post_pv(), single_pointer_assignment_to_post_pv(), and source_to_sinks().
entity null_pointer_value_entity | ( | void | ) |
Definition at line 87 of file pointer_values.c.
References entity_null_locations().
Referenced by declaration_to_post_pv(), make_null_pointer_value_cell(), and pointer_expression_to_transformer().
Definition at line 99 of file pointer_values.c.
References entity_null_locations_p().
Referenced by abstract_pointer_value_entity_p(), convex_effect_to_constant_path_effects_with_pointer_values(), external_value_name(), have_null_value_in_pointer_expression_p(), null_pointer_value_cell_p(), pips_user_value_name(), and simple_effect_to_constant_path_effects_with_pointer_values().
bool pv_cells_mergeable_p | ( | cell_relation | pv1, |
cell_relation | pv2 | ||
) |
value_of pvs, try to see if their cells are inverted
pv1 | v1 |
pv2 | v2 |
Definition at line 230 of file pointer_values.c.
References cell_any_reference(), cell_compare(), cell_entity(), cell_relation_descriptor, cell_relation_first_cell, cell_relation_second_cell, cell_relation_second_value_of_p, descriptor_none_p, gen_length(), pips_internal_error, and reference_indices.
Referenced by pvs_union_combinable_p().
bool pv_cells_syntactically_equal_p | ( | cell_relation | pv1, |
cell_relation | pv2 | ||
) |
value_of pvs, try to see if their cells are inverted
pv1 | v1 |
pv2 | v2 |
Definition at line 162 of file pointer_values.c.
References cell_compare(), cell_relation_descriptor, cell_relation_first_cell, cell_relation_second_cell, cell_relation_second_value_of_p, descriptor_none_p, and pips_internal_error.
Referenced by simple_pvs_syntactically_equal_p().
Definition at line 76 of file pointer_values.c.
References cell_gap_p, cell_preference, cell_reference, cell_reference_p, preference_reference, reference_variable, and undefined_pointer_value_entity_p().
Referenced by generic_effect_find_aliases_with_simple_pointer_values(), generic_effect_find_equivalent_simple_pointer_values(), make_simple_pv_from_simple_effects(), make_value_of_pointer_value(), multiple_pointer_assignment_to_post_pv(), pointer_values_remove_var(), and single_pointer_assignment_to_post_pv().
entity undefined_pointer_value_entity | ( | void | ) |
Definition at line 42 of file pointer_values.c.
References ABSTRACT_LOCATION, ANY_MODULE_NAME, concatenate(), entity_domain, entity_kind, entity_undefined, entity_undefined_p, gen_find_tabulated(), make_basic_pointer(), make_entity, make_storage_rom(), make_type_variable(), make_type_void(), make_value_unknown(), make_variable(), MODULE_SEP_STRING, NIL, strdup(), and UNDEFINED_POINTER_VALUE_NAME.
Referenced by declaration_to_post_pv(), make_undefined_pointer_value_cell(), and sequence_to_post_pv().
Definition at line 68 of file pointer_values.c.
References ANY_MODULE_NAME, entity_local_name(), entity_module_name(), same_string_p, and UNDEFINED_POINTER_VALUE_NAME.
Referenced by abstract_pointer_value_entity_p(), convex_effect_to_constant_path_effects_with_pointer_values(), simple_effect_to_constant_path_effects_with_pointer_values(), and undefined_pointer_value_cell_p().