6 #ifndef effects_simple_header_included
7 #define effects_simple_header_included
38 #define make_sdfi_effect(e) \
39 (reference_indices(effect_any_reference(e)) == NIL) ? \
40 make_simple_effect(make_reference(reference_variable(effect_any_reference(e)), NIL),\
41 copy_action(effect_action(e)), \
42 make_approximation(approximation_tag(effect_approximation(e)), UU)) : \
43 make_simple_effect(make_reference(reference_variable(effect_any_reference(e)), NIL), \
44 copy_action(effect_action(e)), \
45 make_approximation(is_approximation_may, UU))
bool print_source_in_effects(const string)
list effects_may_union(effect, effect)
effect reference_to_reference_effect(reference, action, bool)
bool print_icfg_with_proper_effects(const string)
void reset_methods_for_inout_effects(void)
text simple_inout_effects_to_text(list)
bool path_preceding_p(effect, effect, transformer, bool, bool *)
void set_methods_for_proper_simple_effects(void)
list eval_cell_with_points_to(cell, list, bool *)
for backward compatibility
bool cumulated_effects(const string)
bool proper_pointer_effects(const string)
bool simple_cells_intersection_p(cell, descriptor, cell, descriptor, bool *)
list effect_to_store_independent_sdfi_list(effect, bool)
bool proper_references(const string)
void simple_effect_descriptor_interprocedural_translation(effect)
bool summary_effects(const string)
bool print_code_cumulated_effects(const string)
list EffectsInfDifference(list, list, bool(*)(effect, effect))
list EffectsInfDifference(list l1, l2) input : two lists of effects output : a list of effect,...
bool expression_invariant_wrt_effects(expression, list)
list proper_constant_path_effects_of_lhs_expression(expression)
bool live_in_summary_paths(const string)
void set_methods_for_inout_effects(const char *)
text simple_rw_effects_to_text(list)
prettyprint.c
bool print_call_graph_with_proper_effects(const string)
list EffectsMustUnion(list, list, bool(*)(effect, effect))
list EffectsMustUnion(list l1, list l2, union_combinable_p) input : two lists of effects output : a l...
bool in_effects(const string)
text get_text_proper_effects(const string)
bool live_paths(const string)
list effect_to_constant_path_effects_with_points_to(effect, statement, transformer)
list simple_effect_to_constant_path_effects_with_points_to(effect)
void simple_effects_descriptor_normalize(list)
void set_methods_for_proper_simple_pointer_effects(void)
bool cumulated_pointer_effects_with_points_to(const string)
list proper_constant_path_effects_of_expression(expression)
void simple_cell_reference_with_address_of_cell_reference_translation(reference, descriptor, reference, descriptor, int, reference *, descriptor *, bool *)
list c_simple_effects_on_formal_parameter_backward_translation(list, expression, transformer)
bool print_code_as_a_graph_cumulated_effects(const string)
void simple_effect_change_ith_dimension_expression(effect, expression, int)
bool cumulated_pointer_effects_with_pointer_values(const string)
text get_text_proper_pointer_effects(const string)
bool proper_effects_with_pointer_values(const string)
simple_effects_actions_interpretations
Warning! Do not modify this file that is automatically generated!
list proper_constant_path_effects_of_any_expression(expression, bool)
void simple_effect_add_expression_dimension(effect, expression)
bool print_icfg_with_loops_proper_effects(const string)
bool out_effects(const string)
list effect_to_sdfi_list(effect)
bool print_code_proper_pointer_effects(const string)
bool simple_cell_reference_preceding_p(reference, descriptor, reference, descriptor, transformer, bool, bool *)
eval.c
list simple_effect_to_constant_path_effects_with_pointer_values(effect)
bool update_loops_locals(const char *, statement)
list proper_effects_of_expression(expression)
bool simple_cumulated_effects(const char *, statement)
bool print_source_out_effects(const string)
bool add_points_to_subscript_lists(list *, list, list)
translation.c
list EffectsMayUnion(list, list, bool(*)(effect, effect))
list EffectsMayUnion(list l1, list l2, union_combinable_p) input : two lists of effects output : a li...
list EffectsSupDifference(list, list, bool(*)(effect, effect))
list EffectsSupDifference(list l1, l2) input : two lists of effects output : a list of effect,...
list effects_dynamic_elim(list)
void simple_effects_translation_init(entity, list, bool)
interprocedural.c
list fortran_summary_to_proper_effects(entity, list, list)
bool print_icfg_with_filtered_proper_effects(const string)
effect effect_may_union(effect, effect)
Preserve store independent information as long as you can.
text get_text_cumulated_effects(const string)
bool cumulated_pointer_effects(const string)
list expression_to_proper_effects(expression)
bool print_code_proper_effects(const string)
bool simple_cells_inclusion_p(cell, descriptor, cell, descriptor, bool *)
bool proper_effects_with_points_to(const string)
bool print_icfg_with_loops_cumulated_effects(const string)
bool print_source_proper_effects(const string)
bool print_code_live_in_paths(const string)
bool proper_effects(const string)
list c_simple_effects_on_actual_parameter_forward_translation(entity, expression, entity, list, transformer)
bool print_code_out_effects(const string)
effect translate_effect_to_sdfi_effect(effect)
bool simple_cell_reference_with_address_of_cell_reference_translation_fi(reference, descriptor, reference, descriptor, int, reference *, descriptor *, bool *)
bool print_code_in_effects(const string)
bool live_out_summary_paths(const string)
bool print_code_cumulated_pointer_effects(const string)
bool cumulated_effects_with_pointer_values(const string)
list expression_to_proper_constant_path_effects(expression)
bool in_summary_effects(const string)
void set_methods_for_proper_references(void)
methods.c
effect reference_to_simple_effect(reference, action, bool)
unary_operators.c
text get_text_cumulated_pointer_effects(const string)
bool simple_cell_preceding_p(cell, descriptor, cell, descriptor, transformer, bool, bool *)
void simple_cell_with_value_of_cell_translation(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *)
void set_default_methods_for_proper_simple_effects(void)
reference simple_reference_to_store_independent_reference(reference, bool *)
cell simple_cell_to_store_independent_cell(cell, bool *)
list effect_to_may_sdfi_list(effect)
bool print_code_cumulated_references(const string)
effect simple_effect_field_to_rank_conversion(effect)
void print_effect(effect)
list statement_to_effects(statement)
void rproper_effects_of_statement(statement)
list summary_to_proper_effects(entity, list, list)
void set_methods_for_live_in_paths_prettyprint(const char *)
void simple_cell_to_simple_cell_conversion(cell, cell *, descriptor *)
void set_methods_for_simple_pointer_effects(void)
list proper_effects_of_range(range)
list simple_effects_backward_translation(entity, list, list, transformer)
list get_list_of_variable_to_filter(void)
effect effect_must_union(effect, effect)
computes the must union of two combinable effects
text simple_live_out_paths_to_text(list)
bool print_code_proper_references(const string)
void reset_methods_for_effects_prettyprint(const char *)
list summary_effect_to_proper_effect(call, effect)
string effect_to_string(effect)
bool print_code_as_a_graph_proper_effects(const string)
list ReferenceUnion(list, list, bool(*)(effect, effect))
cproto-generated files
effect simple_effect_dup(effect)
void check_user_call_site(entity, list)
void set_methods_for_cumulated_references(void)
list lhs_expression_to_proper_constant_path_effects(expression)
void simple_cell_reference_with_value_of_cell_reference_translation(reference, descriptor, reference, descriptor, int, reference *, descriptor *, bool *)
void simple_reference_to_simple_reference_conversion(reference, reference *, descriptor *)
bool filter_proper_effects(const char *)
filter_proper_effects.c
bool print_source_cumulated_effects(const string)
void set_methods_for_simple_effects(void)
list words_effect(effect)
text simple_live_in_paths_to_text(list)
list eval_simple_cell_with_points_to(cell, descriptor, list, bool *, transformer)
bool is_implied_do_index(entity, instruction)
bool cumulated_references(const string)
interface.c
bool summary_pointer_effects(const string)
bool print_dvicfg_with_filtered_proper_effects(const string)
void set_methods_for_live_paths(const char *)
bool print_call_graph_with_cumulated_effects(const string)
list c_summary_effect_to_proper_effects(effect, expression)
void rcumulated_effects_of_statement(statement)
list words_effect_generic(effect, bool)
list simple_effects_composition_with_effect_transformer(list, transformer)
list make_unknown_subscript(int)
list c_summary_to_proper_effects(entity, list, list)
list simple_effects_union_over_range(list, entity, range, descriptor)
bool cumulated_effects_with_points_to(const string)
void set_methods_for_live_out_paths_prettyprint(const char *)
list proper_constant_path_effects_of_expression_with_points_to(expression, statement)
list simple_effects_forward_translation(entity, list, list, transformer)
bool print_icfg_with_control_proper_effects(const string)
void set_methods_for_rw_effects_prettyprint(const char *)
bool print_icfg_with_control_cumulated_effects(const string)
bool print_code_live_out_paths(const string)
void simple_effects_translation_end(void)
bool out_summary_effects(const string)
effect proper_to_summary_simple_effect(effect)
FI: the goal is to get rid of array subscripts to handle the arrays atomically.
bool expression_with_side_effect_p(expression)
bool print_icfg_with_cumulated_effects(const string)
list old_effects_composition_with_effect_transformer(list, transformer)
bool full_simple_proper_effects(const char *, statement)
void simple_cell_with_address_of_cell_translation(cell, descriptor, cell, descriptor, int, cell *, descriptor *, bool *)
list words_effect_without_approximation(effect)
list effects_must_union(effect, effect)
void print_memory_effects(list)
void set_methods_for_inout_effects_prettyprint(const char *)
list ProperEffectsMustUnion(list, list, bool(*)(effect, effect))
list EffectsMustUnion(list l1, list l2, union_combinable_p) input : two lists of effects output : a l...
list ReferenceTestUnion(list, list, bool(*)(effect, effect))
list expression_to_proper_constant_path_effects_with_points_to(expression, statement)
The structure used to build lists in NewGen.