|
void | set_contracted_proper_effects (bool) |
| end of effects-generic-local.h More...
|
|
void | proper_effects_error_handler (void) |
|
list | generic_proper_effects_of_range (range) |
|
list | generic_proper_effects_of_derived_reference (reference, bool) |
|
list | generic_intermediary_proper_effects_of_reference (reference) |
|
list | generic_p_proper_effect_of_reference (reference, effect *, bool, bool) |
|
list | generic_proper_effects_of_reference (reference, bool) |
|
list | generic_proper_effects_of_read_reference (reference) |
|
list | generic_proper_effects_of_written_reference (reference) |
|
list | generic_proper_effects_of_complex_address_assign_dereferencing_op (expression, expression, list *, bool) |
|
list | generic_proper_effects_of_complex_address_address_of_dereferencing_op (expression, list *, bool) |
|
list | generic_proper_effects_of_complex_address_cast_dereferencing_op (cast, expression, list *, bool) |
|
list | generic_proper_effects_of_complex_address_conditional_dereferencing_op (expression, expression, expression, list *, bool) |
|
list | generic_proper_effects_of_complex_address_dereferencing_cast_op (list, list *, bool) |
|
list | new_generic_proper_effects_of_complex_address_conditional_op (list, list *, bool) |
|
list | old_generic_proper_effects_of_complex_address_conditional_op (list, list *, bool) |
|
list | generic_proper_effects_of_complex_address_assign_op (list, list *, bool) |
|
list | generic_proper_effects_of_complex_address_update_op (list, list *, bool) |
|
list | generic_proper_effects_of_complex_address_expression (expression, list *, int) |
|
list | generic_proper_effects_of_any_lhs (expression) |
|
list | generic_proper_effects_of_complex_memory_access_expression (expression, list *, list *, int) |
|
list | generic_proper_effects_of_address_expression (expression, int) |
|
list | generic_proper_effects_of_subscript (subscript) |
|
list | generic_proper_effects_of_application (application) |
|
list | generic_proper_effects_of_expression (expression) |
|
list | generic_proper_effects_of_expressions (list) |
|
bool | check_sdfi_effects_p (entity, list) |
|
list | generic_proper_effects_of_c_function_call_argument (expression) |
|
list | generic_r_proper_effects_of_call (call) |
|
list | type_to_effects (type) |
|
list | recursive_type_to_effects (type, set) |
|
effect | make_declaration_effect (entity, bool) |
|
void | proper_effects_of_module_statement (statement) |
|
bool | proper_effects_engine (const char *) |
|
void | expression_proper_effects_engine (const char *, statement) |
|
void | set_contracted_rw_effects (bool) |
| rw_effects_engine.c More...
|
|
bool | summary_rw_effects_engine (const char *) |
|
void | rw_effects_of_module_statement (statement) |
|
bool | rw_effects_engine (const char *) |
|
bool | summary_in_effects_engine (const char *) |
| in_effects_engine.c More...
|
|
bool | in_effects_engine (const char *, effects_representation_val) |
|
void | reset_out_summary_effects_list (void) |
| out_effects_engine.c More...
|
|
void | update_out_summary_effects_list (list) |
|
list | get_out_summary_effects_list (void) |
|
bool | summary_out_effects_engine (const char *) |
|
bool | out_effects_engine (const char *, effects_representation_val) |
|
bool | proper_references_undefined_p (void) |
| mappings.c More...
|
|
void | reset_proper_references (void) |
|
void | error_reset_proper_references (void) |
|
void | set_proper_references (statement_effects) |
|
statement_effects | get_proper_references (void) |
|
void | init_proper_references (void) |
|
void | close_proper_references (void) |
|
void | store_proper_references (statement, effects) |
|
void | update_proper_references (statement, effects) |
|
effects | load_proper_references (statement) |
|
effects | delete_proper_references (statement) |
|
bool | bound_proper_references_p (statement) |
|
void | store_or_update_proper_references (statement, effects) |
|
bool | cumulated_references_undefined_p (void) |
|
void | reset_cumulated_references (void) |
|
void | error_reset_cumulated_references (void) |
|
void | set_cumulated_references (statement_effects) |
|
statement_effects | get_cumulated_references (void) |
|
void | init_cumulated_references (void) |
|
void | close_cumulated_references (void) |
|
void | store_cumulated_references (statement, effects) |
|
void | update_cumulated_references (statement, effects) |
|
effects | load_cumulated_references (statement) |
|
effects | delete_cumulated_references (statement) |
|
bool | bound_cumulated_references_p (statement) |
|
void | store_or_update_cumulated_references (statement, effects) |
|
bool | proper_rw_pointer_effects_undefined_p (void) |
|
void | reset_proper_rw_pointer_effects (void) |
|
void | error_reset_proper_rw_pointer_effects (void) |
|
void | set_proper_rw_pointer_effects (statement_effects) |
|
statement_effects | get_proper_rw_pointer_effects (void) |
|
void | init_proper_rw_pointer_effects (void) |
|
void | close_proper_rw_pointer_effects (void) |
|
void | store_proper_rw_pointer_effects (statement, effects) |
|
void | update_proper_rw_pointer_effects (statement, effects) |
|
effects | load_proper_rw_pointer_effects (statement) |
|
effects | delete_proper_rw_pointer_effects (statement) |
|
bool | bound_proper_rw_pointer_effects_p (statement) |
|
void | store_or_update_proper_rw_pointer_effects (statement, effects) |
|
bool | proper_rw_effects_undefined_p (void) |
|
void | reset_proper_rw_effects (void) |
|
void | error_reset_proper_rw_effects (void) |
|
void | set_proper_rw_effects (statement_effects) |
|
statement_effects | get_proper_rw_effects (void) |
|
void | init_proper_rw_effects (void) |
|
void | close_proper_rw_effects (void) |
|
void | store_proper_rw_effects (statement, effects) |
|
void | update_proper_rw_effects (statement, effects) |
|
effects | load_proper_rw_effects (statement) |
|
effects | delete_proper_rw_effects (statement) |
|
bool | bound_proper_rw_effects_p (statement) |
|
void | store_or_update_proper_rw_effects (statement, effects) |
|
bool | rw_pointer_effects_undefined_p (void) |
|
void | reset_rw_pointer_effects (void) |
|
void | error_reset_rw_pointer_effects (void) |
|
void | set_rw_pointer_effects (statement_effects) |
|
statement_effects | get_rw_pointer_effects (void) |
|
void | init_rw_pointer_effects (void) |
|
void | close_rw_pointer_effects (void) |
|
void | store_rw_pointer_effects (statement, effects) |
|
void | update_rw_pointer_effects (statement, effects) |
|
effects | load_rw_pointer_effects (statement) |
|
effects | delete_rw_pointer_effects (statement) |
|
bool | bound_rw_pointer_effects_p (statement) |
|
void | store_or_update_rw_pointer_effects (statement, effects) |
|
bool | invariant_rw_pointer_effects_undefined_p (void) |
|
void | reset_invariant_rw_pointer_effects (void) |
|
void | error_reset_invariant_rw_pointer_effects (void) |
|
void | set_invariant_rw_pointer_effects (statement_effects) |
|
statement_effects | get_invariant_rw_pointer_effects (void) |
|
void | init_invariant_rw_pointer_effects (void) |
|
void | close_invariant_rw_pointer_effects (void) |
|
void | store_invariant_rw_pointer_effects (statement, effects) |
|
void | update_invariant_rw_pointer_effects (statement, effects) |
|
effects | load_invariant_rw_pointer_effects (statement) |
|
effects | delete_invariant_rw_pointer_effects (statement) |
|
bool | bound_invariant_rw_pointer_effects_p (statement) |
|
void | store_or_update_invariant_rw_pointer_effects (statement, effects) |
|
bool | rw_effects_undefined_p (void) |
|
void | reset_rw_effects (void) |
|
void | error_reset_rw_effects (void) |
|
void | set_rw_effects (statement_effects) |
|
statement_effects | get_rw_effects (void) |
|
void | init_rw_effects (void) |
|
void | close_rw_effects (void) |
|
void | store_rw_effects (statement, effects) |
|
void | update_rw_effects (statement, effects) |
|
effects | load_rw_effects (statement) |
|
effects | delete_rw_effects (statement) |
|
bool | bound_rw_effects_p (statement) |
|
void | store_or_update_rw_effects (statement, effects) |
|
bool | invariant_rw_effects_undefined_p (void) |
|
void | reset_invariant_rw_effects (void) |
|
void | error_reset_invariant_rw_effects (void) |
|
void | set_invariant_rw_effects (statement_effects) |
|
statement_effects | get_invariant_rw_effects (void) |
|
void | init_invariant_rw_effects (void) |
|
void | close_invariant_rw_effects (void) |
|
void | store_invariant_rw_effects (statement, effects) |
|
void | update_invariant_rw_effects (statement, effects) |
|
effects | load_invariant_rw_effects (statement) |
|
effects | delete_invariant_rw_effects (statement) |
|
bool | bound_invariant_rw_effects_p (statement) |
|
void | store_or_update_invariant_rw_effects (statement, effects) |
|
bool | cumulated_rw_effects_undefined_p (void) |
|
void | reset_cumulated_rw_effects (void) |
|
void | error_reset_cumulated_rw_effects (void) |
|
void | set_cumulated_rw_effects (statement_effects) |
|
statement_effects | get_cumulated_rw_effects (void) |
|
void | init_cumulated_rw_effects (void) |
|
void | close_cumulated_rw_effects (void) |
|
void | store_cumulated_rw_effects (statement, effects) |
|
void | update_cumulated_rw_effects (statement, effects) |
|
effects | load_cumulated_rw_effects (statement) |
|
effects | delete_cumulated_rw_effects (statement) |
|
bool | bound_cumulated_rw_effects_p (statement) |
|
void | store_or_update_cumulated_rw_effects (statement, effects) |
|
bool | expr_prw_effects_undefined_p (void) |
|
void | reset_expr_prw_effects (void) |
|
void | error_reset_expr_prw_effects (void) |
|
void | set_expr_prw_effects (persistant_expression_to_effects) |
|
persistant_expression_to_effects | get_expr_prw_effects (void) |
|
void | init_expr_prw_effects (void) |
|
void | close_expr_prw_effects (void) |
|
void | store_expr_prw_effects (expression, effects) |
|
void | update_expr_prw_effects (expression, effects) |
|
effects | load_expr_prw_effects (expression) |
|
effects | delete_expr_prw_effects (expression) |
|
bool | bound_expr_prw_effects_p (expression) |
|
void | store_or_update_expr_prw_effects (expression, effects) |
|
bool | in_effects_undefined_p (void) |
|
void | reset_in_effects (void) |
|
void | error_reset_in_effects (void) |
|
void | set_in_effects (statement_effects) |
|
statement_effects | get_in_effects (void) |
|
void | init_in_effects (void) |
|
void | close_in_effects (void) |
|
void | store_in_effects (statement, effects) |
|
void | update_in_effects (statement, effects) |
|
effects | load_in_effects (statement) |
|
effects | delete_in_effects (statement) |
|
bool | bound_in_effects_p (statement) |
|
void | store_or_update_in_effects (statement, effects) |
|
bool | cumulated_in_effects_undefined_p (void) |
|
void | reset_cumulated_in_effects (void) |
|
void | error_reset_cumulated_in_effects (void) |
|
void | set_cumulated_in_effects (statement_effects) |
|
statement_effects | get_cumulated_in_effects (void) |
|
void | init_cumulated_in_effects (void) |
|
void | close_cumulated_in_effects (void) |
|
void | store_cumulated_in_effects (statement, effects) |
|
void | update_cumulated_in_effects (statement, effects) |
|
effects | load_cumulated_in_effects (statement) |
|
effects | delete_cumulated_in_effects (statement) |
|
bool | bound_cumulated_in_effects_p (statement) |
|
void | store_or_update_cumulated_in_effects (statement, effects) |
|
bool | invariant_in_effects_undefined_p (void) |
|
void | reset_invariant_in_effects (void) |
|
void | error_reset_invariant_in_effects (void) |
|
void | set_invariant_in_effects (statement_effects) |
|
statement_effects | get_invariant_in_effects (void) |
|
void | init_invariant_in_effects (void) |
|
void | close_invariant_in_effects (void) |
|
void | store_invariant_in_effects (statement, effects) |
|
void | update_invariant_in_effects (statement, effects) |
|
effects | load_invariant_in_effects (statement) |
|
effects | delete_invariant_in_effects (statement) |
|
bool | bound_invariant_in_effects_p (statement) |
|
void | store_or_update_invariant_in_effects (statement, effects) |
|
bool | out_effects_undefined_p (void) |
|
void | reset_out_effects (void) |
|
void | error_reset_out_effects (void) |
|
void | set_out_effects (statement_effects) |
|
statement_effects | get_out_effects (void) |
|
void | init_out_effects (void) |
|
void | close_out_effects (void) |
|
void | store_out_effects (statement, effects) |
|
void | update_out_effects (statement, effects) |
|
effects | load_out_effects (statement) |
|
effects | delete_out_effects (statement) |
|
bool | bound_out_effects_p (statement) |
|
void | store_or_update_out_effects (statement, effects) |
|
bool | live_in_paths_undefined_p (void) |
|
void | reset_live_in_paths (void) |
|
void | error_reset_live_in_paths (void) |
|
void | set_live_in_paths (statement_effects) |
|
statement_effects | get_live_in_paths (void) |
|
void | init_live_in_paths (void) |
|
void | close_live_in_paths (void) |
|
void | store_live_in_paths (statement, effects) |
|
void | update_live_in_paths (statement, effects) |
|
effects | load_live_in_paths (statement) |
|
effects | delete_live_in_paths (statement) |
|
bool | bound_live_in_paths_p (statement) |
|
void | store_or_update_live_in_paths (statement, effects) |
|
bool | live_out_paths_undefined_p (void) |
|
void | reset_live_out_paths (void) |
|
void | error_reset_live_out_paths (void) |
|
void | set_live_out_paths (statement_effects) |
|
statement_effects | get_live_out_paths (void) |
|
void | init_live_out_paths (void) |
|
void | close_live_out_paths (void) |
|
void | store_live_out_paths (statement, effects) |
|
void | update_live_out_paths (statement, effects) |
|
effects | load_live_out_paths (statement) |
|
effects | delete_live_out_paths (statement) |
|
bool | bound_live_out_paths_p (statement) |
|
void | store_or_update_live_out_paths (statement, effects) |
|
bool | live_out_regions_undefined_p (void) |
|
void | reset_live_out_regions (void) |
|
void | error_reset_live_out_regions (void) |
|
void | set_live_out_regions (statement_effects) |
|
statement_effects | get_live_out_regions (void) |
|
void | init_live_out_regions (void) |
|
void | close_live_out_regions (void) |
|
void | store_live_out_regions (statement, effects) |
|
void | update_live_out_regions (statement, effects) |
|
effects | load_live_out_regions (statement) |
|
effects | delete_live_out_regions (statement) |
|
bool | bound_live_out_regions_p (statement) |
|
void | store_or_update_live_out_regions (statement, effects) |
|
bool | useful_variables_effects_undefined_p (void) |
|
void | reset_useful_variables_effects (void) |
|
void | error_reset_useful_variables_effects (void) |
|
void | set_useful_variables_effects (entity_effects) |
|
entity_effects | get_useful_variables_effects (void) |
|
void | init_useful_variables_effects (void) |
|
void | close_useful_variables_effects (void) |
|
void | store_useful_variables_effects (entity, effects) |
|
void | update_useful_variables_effects (entity, effects) |
|
effects | load_useful_variables_effects (entity) |
|
effects | delete_useful_variables_effects (entity) |
|
bool | bound_useful_variables_effects_p (entity) |
|
void | store_or_update_useful_variables_effects (entity, effects) |
|
list | load_proper_rw_pointer_effects_list (statement) |
|
void | store_proper_rw_pointer_effects_list (statement, list) |
|
void | update_proper_rw_pointer_effects_list (statement, list) |
|
list | load_proper_rw_effects_list (statement) |
|
void | store_proper_rw_effects_list (statement, list) |
|
void | update_proper_rw_effects_list (statement, list) |
|
list | load_rw_pointer_effects_list (statement) |
|
void | store_rw_pointer_effects_list (statement, list) |
|
void | update_rw_pointer_effects_list (statement, list) |
|
list | load_rw_effects_list (statement) |
|
void | store_rw_effects_list (statement, list) |
|
void | update_rw_effects_list (statement, list) |
|
list | load_invariant_rw_pointer_effects_list (statement) |
|
void | store_invariant_rw_pointer_effects_list (statement, list) |
|
void | update_invariant_rw_pointer_effects_list (statement, list) |
|
list | load_invariant_rw_effects_list (statement) |
|
void | store_invariant_rw_effects_list (statement, list) |
|
void | update_invariant_rw_effects_list (statement, list) |
|
list | load_cumulated_rw_effects_list (statement) |
|
void | store_cumulated_rw_effects_list (statement, list) |
|
void | update_cumulated_rw_effects_list (statement, list) |
|
list | load_in_effects_list (statement) |
|
void | store_in_effects_list (statement, list) |
|
void | update_in_effects_list (statement, list) |
|
list | load_cumulated_in_effects_list (statement) |
|
void | store_cumulated_in_effects_list (statement, list) |
|
void | update_cummulated_in_effects_list (statement, list) |
|
list | load_invariant_in_effects_list (statement) |
|
void | store_invariant_in_effects_list (statement, list) |
|
void | update_invariant_in_effects_list (statement, list) |
|
list | load_out_effects_list (statement) |
|
void | store_out_effects_list (statement, list) |
|
void | update_out_effects_list (statement, list) |
|
list | load_live_in_paths_list (statement) |
|
void | store_live_in_paths_list (statement, list) |
|
void | update_live_in_paths_list (statement, list) |
|
list | load_live_out_paths_list (statement) |
|
void | store_live_out_paths_list (statement, list) |
|
void | update_live_out_paths_list (statement, list) |
|
list | load_live_out_regions_list (statement) |
|
void | store_live_out_regions_list (statement, list) |
|
void | update_live_out_regions_list (statement, list) |
|
list | load_statement_local_regions (statement) |
|
void | store_statement_local_regions (statement, list) |
|
void | update_statement_local_regions (statement, list) |
|
list | load_statement_inv_regions (statement) |
|
void | store_statement_inv_regions (statement, list) |
|
void | update_statement_inv_regions (statement, list) |
|
list | load_statement_proper_regions (statement) |
|
void | store_statement_proper_regions (statement, list) |
|
list | load_statement_in_regions (statement) |
|
void | store_statement_in_regions (statement, list) |
|
list | load_statement_inv_in_regions (statement) |
|
void | store_statement_inv_in_regions (statement, list) |
|
void | update_statement_inv_in_regions (statement, list) |
|
list | load_statement_cumulated_in_regions (statement) |
|
void | store_statement_cumulated_in_regions (statement, list) |
|
list | load_statement_out_regions (statement) |
|
void | store_statement_out_regions (statement, list) |
|
void | effects_map (list, void(*)(effect)) |
| unary_operators.c More...
|
|
list | effects_to_effects_map (list, effect(*)(effect)) |
|
void | effects_filter_map (list, bool(*)(effect), void(*)(effect)) |
|
list | effects_to_effects_filter_map (list, bool(*)(effect), effect(*)(effect)) |
|
list | effects_add_effect (list, effect) |
|
list | effects_read_effects (list) |
|
list | effects_store_effects (list) |
|
list | effects_write_effects (list) |
|
bool | effects_write_at_least_once_p (list) |
|
list | effects_read_effects_dup (list) |
|
list | effects_write_effects_dup (list) |
|
effect | effect_nop (effect) |
|
list | effects_nop (list) |
|
void | effect_to_may_effect (effect) |
|
void | effects_to_may_effects (list) |
|
void | effect_to_must_effect (effect) |
|
void | effects_to_must_effects (list) |
|
void | effect_to_write_effect (effect) |
|
void | effects_to_write_effects (list) |
|
void | effect_to_read_effect (effect) |
|
void | effects_to_read_effects (list) |
|
void | array_effects_to_may_effects (list) |
|
list | effects_dup_without_variables (list, list) |
|
list | effects_dup (list) |
|
void | effect_free (effect) |
|
void | effects_free (list) |
|
list | effect_to_nil_list (effect) |
|
list | effect_to_nil_list_and_free (effect) |
|
list | effects_to_nil_list (effect, effect) |
|
list | effect_to_list (effect) |
|
list | effect_to_may_effect_list (effect) |
|
list | effects_to_written_scalar_entities (list) |
|
list | effects_undefined_composition_with_transformer (list, transformer) |
|
list | effects_composition_with_transformer_nop (list, transformer) |
|
list | effects_undefined_composition_with_preconditions (list, transformer) |
|
list | effects_composition_with_preconditions_nop (list, transformer, bool) |
|
descriptor | loop_undefined_descriptor_make (loop) |
|
list | effects_undefined_union_over_range (list, entity, range, descriptor) |
|
list | effects_union_over_range_nop (list, entity, range, descriptor) |
|
list | effects_undefined_descriptors_variable_change (list, entity, entity) |
|
list | effects_descriptors_variable_change_nop (list, entity, entity) |
|
descriptor | effects_undefined_vector_to_descriptor (Pvecteur) |
|
list | effects_undefined_loop_normalize (list, entity, range, entity *, descriptor, bool) |
|
list | effects_loop_normalize_nop (list, entity, range, entity *, descriptor, bool) |
|
list | db_get_empty_list (string) |
|
void | effect_add_dereferencing_dimension (effect) |
|
void | effect_add_field_dimension (effect, entity) |
|
list | filter_effects_with_declaration (list, entity) |
|
list | effect_intermediary_pointer_paths_effect (effect) |
|
list | list_of_effects_generic_binary_op (list, list, bool(*)(effect, effect), list(*)(effect, effect, bool, bool, bool *, bool *, list(*)(effect, effect)), list(*)(effect, effect), list(*)(effect), list(*)(effect)) |
| binary_operators.c More...
|
|
list | list_of_effects_generic_union_op (list, list, bool(*)(effect, effect), list(*)(effect, effect), list(*)(effect)) |
|
list | list_of_effects_generic_intersection_op (list, list, bool(*)(effect, effect), list(*)(effect, effect)) |
|
list | list_of_effects_generic_cells_intersection_op (list, list, bool(*)(effect, effect), list(*)(effect, effect)) |
|
list | list_of_effects_generic_sup_difference_op (list, list, bool(*)(effect, effect), list(*)(effect, effect)) |
|
list | list_of_effects_generic_inf_difference_op (list, list, bool(*)(effect, effect), list(*)(effect, effect)) |
|
list | list_of_effects_generic_cells_inf_difference_op (list, list, bool(*)(effect, effect), list(*)(effect, effect)) |
|
list | proper_to_summary_effects (list) |
|
list | proper_effects_contract (list) |
|
list | proper_effects_combine (list, bool) |
|
bool | effects_combinable_p (effect, effect) |
|
bool | cells_combinable_p (cell, cell) |
|
bool | effects_scalars_and_same_action_p (effect, effect) |
|
bool | effects_same_action_p (effect, effect) |
|
bool | effects_same_variable_p (effect, effect) |
|
bool | r_r_combinable_p (effect, effect) |
|
bool | w_w_combinable_p (effect, effect) |
|
bool | r_w_combinable_p (effect, effect) |
|
bool | w_r_combinable_p (effect, effect) |
|
list | effects_undefined_binary_operator (list, list, bool(*)(effect, effect)) |
|
list | effects_entities_intersection (list, list, bool(*)(effect, effect)) |
|
list | effects_entities_inf_difference (list, list, bool(*)(effect, effect)) |
|
void | make_effects_private_current_stmt_stack (void) |
| utils.c More...
|
|
void | free_effects_private_current_stmt_stack (void) |
|
stack | get_effects_private_current_stmt_stack (void) |
|
void | set_effects_private_current_stmt_stack (stack) |
|
void | reset_effects_private_current_stmt_stack (void) |
|
void | effects_private_current_stmt_push (statement) |
|
bool | effects_private_current_stmt_filter (statement) |
|
void | effects_private_current_stmt_rewrite (statement) |
|
statement | effects_private_current_stmt_replace (statement) |
|
statement | effects_private_current_stmt_pop (void) |
|
statement | effects_private_current_stmt_head (void) |
|
statement | effects_private_current_stmt_nth (int) |
|
bool | effects_private_current_stmt_empty_p (void) |
|
int | effects_private_current_stmt_size (void) |
|
void | error_reset_effects_private_current_stmt_stack (void) |
|
void | make_effects_private_current_context_stack (void) |
|
void | free_effects_private_current_context_stack (void) |
|
stack | get_effects_private_current_context_stack (void) |
|
void | set_effects_private_current_context_stack (stack) |
|
void | reset_effects_private_current_context_stack (void) |
|
void | effects_private_current_context_push (transformer) |
|
bool | effects_private_current_context_filter (transformer) |
|
void | effects_private_current_context_rewrite (transformer) |
|
transformer | effects_private_current_context_replace (transformer) |
|
transformer | effects_private_current_context_pop (void) |
|
transformer | effects_private_current_context_head (void) |
|
transformer | effects_private_current_context_nth (int) |
|
bool | effects_private_current_context_empty_p (void) |
|
int | effects_private_current_context_size (void) |
|
void | error_reset_effects_private_current_context_stack (void) |
|
bool | effects_private_current_context_stack_initialized_p (void) |
|
bool | effects_private_current_stmt_stack_initialized_p (void) |
|
bool | normalizable_and_linear_loop_p (entity, range) |
|
transformer | transformer_remove_variable_and_dup (transformer, entity) |
|
void | set_descriptor_range_p (bool) |
|
bool | get_descriptor_range_p (void) |
|
descriptor | descriptor_inequality_add (descriptor, Pvecteur) |
|
transformer | descriptor_to_context (descriptor) |
|
void | descriptor_variable_rename (descriptor, entity, entity) |
|
descriptor | descriptor_append (descriptor, descriptor) |
|
transformer | load_undefined_context (statement) |
|
transformer | load_undefined_transformer (statement) |
|
bool | empty_context_test_false (transformer) |
|
void | effects_computation_no_init (const char *) |
|
void | effects_computation_no_reset (const char *) |
|
string | vect_debug_entity_name (entity) |
|
bool | some_integer_scalar_read_or_write_effects_p (cons *) |
|
bool | statement_io_effect_p (statement) |
|
bool | statement_has_a_formal_argument_write_effect_p (statement) |
|
list | make_effects_for_array_declarations (list) |
|
list | summary_effects_from_declaration (const char *) |
|
void | dump_cell (cell) |
|
void | dump_effect (effect) |
|
void | dump_effects (list) |
|
bool | effects_reference_sharing_p (list, bool) |
|
effect | make_some_anywhere_effect (action, entity) |
|
effect | make_anywhere_effect (action) |
|
effect | make_generic_anywhere_effect (action, reference) |
|
effect | make_typed_anywhere_effect (action, type) |
|
effect | make_anywhere_write_memory_effect (void) |
|
effect | make_anywhere_read_memory_effect (void) |
|
list | make_anywhere_read_write_memory_effects (void) |
|
list | clean_anywhere_effects (list) |
|
effect | make_null_pointer_value_effect (action) |
|
bool | null_pointer_value_effect_p (effect) |
|
effect | make_undefined_pointer_value_effect (action) |
|
bool | undefined_pointer_value_effect_p (effect) |
|
list | effect_to_effects_with_given_tag (effect, tag) |
|
list | generic_effect_generate_all_accessible_paths_effects_with_level (effect, type, tag, bool, int, bool) |
|
list | generic_effect_generate_all_accessible_paths_effects (effect, type, tag) |
|
bool | r_effect_pointer_type_p (effect, list, type) |
|
bool | effect_pointer_type_p (effect) |
|
type | simple_effect_reference_type (reference) |
|
bool | regions_weakly_consistent_p (list) |
|
bool | region_weakly_consistent_p (effect) |
|
list | statement_modified_pointers_effects_list (statement) |
|
bool | abstract_effect_in_effect_list_p (action, type, list) |
|
list | generic_effects_store_update (list, statement, bool) |
|
list | pointer_effects_to_constant_path_effects (list) |
|
list | effect_to_constant_path_effects_with_no_pointer_information (effect) |
|
list | effects_to_constant_path_effects_with_no_pointer_information (list) |
|
bool | find_write_effect_on_entity (statement, entity) |
|
void | set_pointer_info_kind (pointer_info_val) |
| methods.c More...
|
|
pointer_info_val | get_pointer_info_kind (void) |
|
void | set_constant_paths_p (bool) |
|
bool | get_constant_paths_p (void) |
|
void | generic_effects_reset_all_methods (void) |
|
void | set_action_interpretation (string, string) |
| prettyprint.c More...
|
|
void | reset_action_interpretation (void) |
|
string | action_interpretation (int tag) |
|
void | set_is_user_view_p (bool) |
|
void | set_prettyprint_with_attachments (bool) |
|
void | reset_generic_prettyprints (void) |
|
void | set_a_generic_prettyprint (string, bool, gen_chunk *, generic_text_function, generic_prettyprint_function, generic_attachment_function) |
|
void | add_a_generic_prettyprint (string, bool, generic_text_function, generic_prettyprint_function, generic_attachment_function) |
|
bool | print_source_or_code_effects_engine (const char *, string, bool) |
|
text | get_any_effect_type_text (const char *, string, string, bool) |
|
bool | print_source_or_code_with_any_effects_engine (const char *, string, string, string, bool) |
|
void | generic_print_effects (list) |
|
list | generic_proper_effects_of_intrinsic (entity, list) |
| intrinsics.c More...
|
|
expression | count_expression_to_range_expression (expression) |
|
expression | count_and_offset_expressions_to_range_expression (expression, expression) |
|
void | update_last_reference_subscript (reference, expression) |
|
void | add_range_information_to_cells (list, expression) |
|
void | effects_to_proper_approximation (list) |
|
void | add_precondition_information_to_effects (list) |
|
list | generic_fortran_effects_backward_translation (entity, list, list, transformer) |
| interprocedural.c More...
|
|
list | c_actual_argument_to_may_summary_effects (expression, tag) |
|
list | generic_c_effects_backward_translation (entity, list, list, transformer) |
|
list | generic_c_effects_forward_translation (entity, list, list, transformer) |
|
list | generic_effects_backward_translation (entity, list, list, transformer) |
|
list | generic_effects_forward_translation (entity, list, list, transformer) |
|
void | effects_translate_fields_compilation_unit (list, string, string) |
|
int | effects_statement_line_number (void) |
| eval.c More...
|
|
list | generic_reference_to_points_to_matching_list (reference, descriptor, size_t *, bool *, transformer, list, void(*)(reference, reference *, descriptor *), bool(*)(reference, descriptor, reference, descriptor, transformer, bool, bool *)) |
| This function has been outlined from generic_eval_cell_with_points_to() to reduce the size of a function to about one page. More...
|
|
list | generic_eval_cell_with_points_to (cell, descriptor, list, bool *, transformer, bool(*)(reference, descriptor, reference, descriptor, transformer, bool, bool *), void(*)(reference, descriptor, reference, descriptor, int, reference *, descriptor *, bool *), void(*)(reference, reference *, descriptor *)) |
|
list | generic_effect_find_equivalent_simple_pointer_values (effect, list, cell_relation *, list *, bool(*)(cell, descriptor, cell, descriptor, bool *), bool(*)(cell, descriptor, cell, descriptor, bool *), void(*)(cell, cell *, descriptor *)) |
| find pointer_values in l_in which give (possible or exact) paths equivalent to eff. More...
|
|
list | generic_effect_find_aliases_with_simple_pointer_values (effect, list, bool *, transformer, bool(*)(cell, descriptor, cell, descriptor, transformer, bool, bool *), void(*)(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *), void(*)(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *), bool(*)(cell, descriptor, cell, descriptor, bool *), bool(*)(cell, descriptor, cell, descriptor, bool *), void(*)(cell, cell *, descriptor *)) |
|
bool | live_in_summary_paths_engine (const char *) |
| liveness_analysis_engine.c More...
|
|
bool | live_out_summary_paths_engine (const char *) |
|
bool | live_paths_engine (const char *, effects_representation_val) |
|
bool | live_out_region_engine (const char *, effects_representation_val) |
|
list | effects_expression_to_points_to_sources (expression) |
| points_to.c More...
|
|
list | effects_expression_to_points_to_sinks (expression) |
|
set | safe_user_call_to_points_to_interprocedural_binding_set (entity, list) |
|
void | effect_backward_translation_error (entity, effect) |
|
list | backward_translation_of_points_to_formal_context_effect (entity, list, effect, set) |
|
list | effects_lhs_expression_to_sources (expression) |
| Returns a list of cells corresponding to the possibles values, i.e. More...
|
|
list | effects_lhs_expression_to_sinks (expression) |
| Returns a list of cells corresponding to the value,i.e. More...
|
|
list | cells_to_read_or_write_effects (list, bool) |
|
list | cells_to_write_effects (list) |
|
list | cells_to_read_effects (list) |
|
|
bool(* | effect_consistent_p_func )(effect) |
|
void(* | effects_computation_init_func )(const char *) |
|
void(* | effects_computation_reset_func )(const char *) |
|
effect(* | effect_dup_func )(effect eff) |
|
void(* | effect_free_func )(effect eff) |
|
effect(* | reference_to_effect_func )(reference, action, bool) |
|
list(* | effect_to_store_independent_effect_list_func )(effect, bool) |
|
void(* | effect_add_expression_dimension_func )(effect eff, expression exp) |
|
void(* | effect_change_ith_dimension_expression_func )(effect eff, expression exp, int i) |
|
effect(* | effect_union_op )(effect, effect) |
|
list(* | effects_union_op )(list, list, bool(*eff1_eff2_combinable_p)(effect, effect)) |
|
list(* | effects_test_union_op )(list, list, bool(*eff1_eff2_combinable_p)(effect, effect)) |
|
list(* | effects_intersection_op )(list, list, bool(*eff1_eff2_combinable_p)(effect, effect)) |
|
list(* | effects_sup_difference_op )(list, list, bool(*eff1_eff2_combinable_p)(effect, effect)) |
|
list(* | effects_inf_difference_op )(list, list, bool(*eff1_eff2_combinable_p)(effect, effect)) |
|
list(* | effects_transformer_composition_op )(list, transformer) |
|
list(* | effects_transformer_inverse_composition_op )(list, transformer) |
|
list(* | effects_precondition_composition_op )(list, transformer, bool) |
|
list(* | eval_cell_with_points_to_func )(cell, descriptor, list, bool *, transformer) |
|
list(* | effect_to_constant_path_effects_func )(effect) |
|
list(* | effects_descriptors_variable_change_func )(list, entity, entity) |
|
descriptor(* | loop_descriptor_make_func )(loop) |
|
void(* | loop_range_in_effect_func )(loop, list *, list *, bool(*)(effect, effect), entity *, range) |
|
list(* | effects_loop_normalize_func )(list, entity, range, entity *, descriptor, bool) |
|
list(* | effects_union_over_range_op )(list, entity, range, descriptor) |
|
descriptor(* | vector_to_descriptor_func )(Pvecteur) |
|
void(* | effects_translation_init_func )(entity, list, bool) |
|
void(* | effects_translation_end_func )(void) |
|
void(* | effect_descriptor_interprocedural_translation_op )(effect) |
|
list(* | fortran_effects_backward_translation_op )(entity, list, list, transformer) |
|
list(* | fortran_effects_forward_translation_op )(entity, list, list, transformer) |
|
list(* | c_effects_on_formal_parameter_backward_translation_func )(list, expression, transformer) |
|
list(* | c_effects_on_actual_parameter_forward_translation_func )(entity, expression, entity, list, transformer) |
|
list(* | effects_local_to_global_translation_op )(list) |
|
transformer(* | load_context_func )(statement) |
|
transformer(* | load_transformer_func )(statement) |
|
transformer(* | load_completed_transformer_func )(statement) |
|
bool(* | empty_context_test )(transformer) |
|
effect(* | proper_to_summary_effect_func )(effect) |
|
void(* | effects_descriptor_normalize_func )(list) |
|
statement_effects(* | db_get_proper_rw_effects_func )(const char *) |
|
void(* | db_put_proper_rw_effects_func )(const char *, statement_effects) |
|
statement_effects(* | db_get_invariant_rw_effects_func )(const char *) |
|
void(* | db_put_invariant_rw_effects_func )(const char *, statement_effects) |
|
statement_effects(* | db_get_rw_effects_func )(const char *) |
|
void(* | db_put_rw_effects_func )(const char *, statement_effects) |
|
list(* | db_get_summary_rw_effects_func )(const char *) |
|
void(* | db_put_summary_rw_effects_func )(const char *, list) |
|
statement_effects(* | db_get_in_effects_func )(const char *) |
|
void(* | db_put_in_effects_func )(const char *, statement_effects) |
|
statement_effects(* | db_get_cumulated_in_effects_func )(const char *) |
|
void(* | db_put_cumulated_in_effects_func )(const char *, statement_effects) |
|
statement_effects(* | db_get_invariant_in_effects_func )(const char *) |
|
void(* | db_put_invariant_in_effects_func )(const char *, statement_effects) |
|
list(* | db_get_summary_in_effects_func )(const char *) |
|
void(* | db_put_summary_in_effects_func )(const char *, list) |
|
list(* | db_get_summary_out_effects_func )(const char *) |
|
void(* | db_put_summary_out_effects_func )(const char *, list) |
|
statement_effects(* | db_get_out_effects_func )(const char *) |
|
void(* | db_put_out_effects_func )(const char *, statement_effects) |
|
statement_effects(* | db_get_live_in_paths_func )(const char *) |
|
void(* | db_put_live_in_paths_func )(const char *, statement_effects) |
|
statement_effects(* | db_get_live_out_paths_func )(const char *) |
|
void(* | db_put_live_out_paths_func )(const char *, statement_effects) |
|
list(* | db_get_live_in_summary_paths_func )(const char *) |
|
void(* | db_put_live_in_summary_paths_func )(const char *, list) |
|
list(* | db_get_live_out_summary_paths_func )(const char *) |
|
void(* | db_put_live_out_summary_paths_func )(const char *, list) |
|
entity_effects(* | db_get_useful_variables_effects_func )(const char *) |
|
void(* | db_put_useful_variables_effects_func )(const char *, entity_effects) |
|
void(* | effects_prettyprint_func )(list) |
|
void(* | effect_prettyprint_func )(effect) |
|
text(* | effects_to_text_func )(list) |
|
void(* | attach_effects_decoration_to_text_func )(text) |
|
bool(* | cell_preceding_p_func )(cell, descriptor, cell, descriptor, bool, bool *) |
|
bool(* | stmt_strongly_feasible_p_func )(statement) |
|
list generic_effect_find_aliases_with_simple_pointer_values |
( |
effect |
eff, |
|
|
list |
l_pv, |
|
|
bool * |
exact_p, |
|
|
transformer |
current_precondition, |
|
|
bool(*)(cell, descriptor, cell, descriptor, transformer, bool, bool *) |
cell_preceding_p_func, |
|
|
void(*)(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *) |
cell_with_address_of_cell_translation_func, |
|
|
void(*)(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *) |
cell_with_value_of_cell_translation_func, |
|
|
bool(*)(cell, descriptor, cell, descriptor, bool *) |
cells_intersection_p_func, |
|
|
bool(*)(cell, descriptor, cell, descriptor, bool *) |
cells_inclusion_p_func, |
|
|
void(*)(cell, cell *, descriptor *) |
simple_cell_conversion_func |
|
) |
| |
should it be turned into entity_abstract_location_p (?)
first we must find in eff intermediary paths to pointers
and find if this gives equivalent paths in l_pv
this is valid only if the first value_of corresponds to eff_intermediary
This test is valid here because by construction either c1 or c2 is an equivalent for eff_intermediary
use second cell as equivalent value for intermediary path
cell_relation_second_address_of_p is true
use first cell as equivalent value for intermediary path
FOREACH
Then we must find if there are address_of second cells which are preceding paths of eff path in which case they must be used to generate other aliased paths
for the translation, add a dereferencing_dimension to pv_remnant_first_cell
FOREACH
if (!anywhere_p)
else branche of if (anywhere_effect_p(eff))
- Parameters
-
eff | ff |
l_pv | _pv |
exact_p | xact_p |
current_precondition | urrent_precondition |
Definition at line 673 of file eval.c.
700 list l_remnants = l_pv;
704 bool anywhere_p =
false;
713 pips_debug(5,
"anywhere, undefined or null case\n");
730 &pv_exact, &tmp_l_remnants,
731 cells_intersection_p_func,
732 cells_inclusion_p_func,
733 simple_cell_conversion_func);
738 l_remnants = tmp_l_remnants;
745 int nb_common_indices =
752 bool exact_translation_p;
761 pips_debug(5,
"potential dereferencement of an undefined pointer -> returning undefined\n");
770 pips_debug(5,
"potential dereferencement of a null pointer -> returning null\n");
790 (*simple_cell_conversion_func)(c2, &converted_c2, &converted_d2);
795 (*cell_with_value_of_cell_translation_func)
797 converted_c2, converted_d2,
799 &c, &d, &exact_translation_p);
803 (*cell_with_address_of_cell_translation_func)
805 converted_c2, converted_d2,
807 &c, &d, &exact_translation_p);
817 (*simple_cell_conversion_func)(c1, &converted_c1, &converted_d1);
819 (*cell_with_value_of_cell_translation_func)
821 converted_c1, converted_d1,
823 &c, &d, &exact_translation_p);
831 exact_translation_p ?
863 cell pv_remnant_second_cell =
865 bool exact_preceding_test =
true;
873 (*simple_cell_conversion_func)(pv_remnant_second_cell,
874 &pv_remnant_converted_cell,
875 &pv_remnant_converted_desc);
886 &exact_preceding_test))
890 bool exact_translation_p;
892 pips_debug(5,
"good candidate (%sexact)\n",exact_preceding_test?
"":
"non ");
904 (*simple_cell_conversion_func)(new_cell,
906 &new_converted_desc);
908 (*cell_with_value_of_cell_translation_func)
910 new_converted_cell, new_converted_desc,
912 &c, &d, &exact_translation_p);
918 exact_translation_p && exact_preceding_test ?
934 l_remnants = l_remnants_2;
936 if (!
ENDP(l_remnants))
938 pips_debug(5,
"recursing to find aliases to aliased effect...\n");
949 cell_with_address_of_cell_translation_func,
950 cell_with_value_of_cell_translation_func,
951 cells_intersection_p_func,
952 cells_inclusion_p_func,
953 simple_cell_conversion_func ));
cell make_cell_reference(reference _field_)
action copy_action(action p)
ACTION.
approximation make_approximation_exact(void)
effect make_effect(cell a1, action a2, approximation a3, descriptor a4)
descriptor make_descriptor_none(void)
reference copy_reference(reference p)
REFERENCE.
void const char const char const int
#define pips_debug_effects(level, message, l_eff)
#define pips_debug_effect(level, message, eff)
for debug
list generic_effect_find_aliases_with_simple_pointer_values(effect eff, list l_pv, bool *exact_p, transformer current_precondition, bool(*cell_preceding_p_func)(cell, descriptor, cell, descriptor, transformer, bool, bool *), void(*cell_with_address_of_cell_translation_func)(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *), void(*cell_with_value_of_cell_translation_func)(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *), bool(*cells_intersection_p_func)(cell, descriptor, cell, descriptor, bool *), bool(*cells_inclusion_p_func)(cell, descriptor, cell, descriptor, bool *), void(*simple_cell_conversion_func)(cell, cell *, descriptor *))
list generic_effect_find_equivalent_simple_pointer_values(effect eff, list l_in, cell_relation *exact_aliased_pv, list *l_in_remnants, bool(*cells_intersection_p_func)(cell, descriptor, cell, descriptor, bool *), bool(*cells_inclusion_p_func)(cell, descriptor, cell, descriptor, bool *), void(*simple_cell_conversion_func)(cell, cell *, descriptor *))
find pointer_values in l_in which give (possible or exact) paths equivalent to eff.
void effects_to_may_effects(list)
effect make_undefined_pointer_value_effect(action)
bool(* cell_preceding_p_func)(cell, descriptor, cell, descriptor, bool, bool *)
list effect_intermediary_pointer_paths_effect(effect)
effect make_null_pointer_value_effect(action)
list effect_to_list(effect)
#define effect_any_reference(e)
FI: cannot be used as a left hand side.
#define pips_debug_pv(level, message, pv)
#define cell_relation_may_p(cr)
#define cell_relation_second_cell(cr)
#define pips_debug_pvs(level, message, l_pv)
#define cell_relation_exact_p(cr)
#define cell_relation_second_address_of_p(cr)
#define cell_relation_second_value_of_p(cr)
#define cell_relation_first_cell(cr)
#define effect_exact_p(eff)
bool undefined_pointer_value_cell_p(cell)
entity effect_entity(effect)
cproto-generated files
bool anywhere_effect_p(effect)
Is it an anywhere effect? ANYMMODULE:ANYWHERE
bool null_pointer_value_cell_p(cell)
#define cell_reference(x)
#define CELL_RELATION(x)
CELL_RELATION.
#define cell_relation_undefined
#define effect_descriptor(x)
#define descriptor_undefined
#define descriptor_undefined_p(x)
#define cell_relation_undefined_p(x)
#define ENDP(l)
Test if a list is empty.
bool same_entity_p(entity e1, entity e2)
predicates on entities
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
#define transformer_undefined
#define EXPRESSION(x)
EXPRESSION.
static transformer current_precondition
References anywhere_effect_p(), cell_entity(), cell_indices(), cell_preceding_p_func, cell_reference, CELL_RELATION, cell_relation_exact_p, cell_relation_first_cell, cell_relation_may_p, cell_relation_second_address_of_p, cell_relation_second_cell, cell_relation_second_value_of_p, cell_relation_undefined, cell_relation_undefined_p, cell_undefined, CONS, copy_action(), copy_reference(), current_precondition, descriptor_undefined, descriptor_undefined_p, EFFECT, effect_action, effect_any_reference, effect_cell, effect_descriptor, effect_entity(), effect_exact_p, effect_intermediary_pointer_paths_effect(), effect_to_list(), effects_to_may_effects(), ENDP, EXPRESSION, FOREACH, free_cell(), gen_full_free_list(), gen_length(), gen_nconc(), generic_effect_find_aliases_with_simple_pointer_values(), generic_effect_find_equivalent_simple_pointer_values(), int, int_to_expression(), make_action_write_memory(), make_approximation_exact(), make_approximation_may(), make_cell_reference(), make_descriptor_none(), make_effect(), make_null_pointer_value_effect(), make_undefined_pointer_value_effect(), NIL, null_pointer_value_cell_p(), pips_assert, pips_debug, pips_debug_effect, pips_debug_effects, pips_debug_pv, pips_debug_pvs, reference_indices, same_entity_p(), transformer_undefined, and undefined_pointer_value_cell_p().
Referenced by convex_effect_find_aliased_paths_with_pointer_values(), effect_find_aliased_paths_with_pointer_values(), and generic_effect_find_aliases_with_simple_pointer_values().