PIPS
|
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "misc.h"
#include "ri-util.h"
#include "effects-util.h"
#include "callgraph.h"
#include "properties.h"
#include "resources.h"
#include "pipsdbm.h"
#include "control.h"
#include "effects-generic.h"
#include "freia.h"
#include "hwac.h"
Go to the source code of this file.
Data Structures | |
struct | vis_ctx |
look for a variable More... | |
struct | fcs_ctx |
struct | subs_ctx |
util defined somewhere ?????? More... | |
struct | rssp_ctx |
struct | shuffle_context |
Macros | |
#define | starts_with(s1, s2) (strncmp(s1, s2, strlen(s2))==0) /**a la java */ |
#define | entity_update_p(e) |
#define entity_update_p | ( | e | ) |
Definition at line 704 of file freia_transformations.c.
Definition at line 702 of file freia_transformations.c.
|
static |
"&v"? return v, else return NULL
Definition at line 484 of file freia_transformations.c.
References call_arguments, call_function, CAR, ENTITY_ADDRESS_OF_P, entity_scalar_p(), EXPRESSION, expression_call(), expression_call_p(), expression_reference(), expression_reference_p(), gen_length(), pips_assert, reference_indices, and reference_variable.
Referenced by remove_simple_scalar_pointers(), and rssp_ref().
|
static |
Definition at line 850 of file freia_transformations.c.
References call_arguments, call_function, CAR, CDR, ENTITY_ASSIGN_P, EXPRESSION, expression_reference(), expression_reference_p(), gen_length(), gen_recurse_stop(), NIL, pips_assert, reference_indices, and reference_variable.
Referenced by freia_shuffle_move_forward().
Definition at line 142 of file freia_transformations.c.
References AIPO, fcs_ctx::bad_stuff, call_function, fcs_ctx::comp, entity_local_name(), freia_statement_to_call(), gen_recurse_stop(), fcs_ctx::morpho, same_string_p, statement_call_p(), and fcs_ctx::vol.
Referenced by freia_convergence_sequence_p().
Definition at line 179 of file freia_transformations.c.
References fcs_ctx::bad_stuff, fcs_ctx::comp, fcs_count(), gen_context_recurse, gen_null2(), fcs_ctx::morpho, statement_domain, and fcs_ctx::vol.
Referenced by maybe_unroll_while_rwt().
return the freia reduction entity, or NULL if it does not apply
Definition at line 335 of file freia_transformations.c.
References AIPO, call_arguments, call_function, CAR, entity_local_name(), EXPRESSION, expression_address_of_p(), expression_call(), expression_syntax, expression_variable(), freia_statement_aipo_call_p(), freia_statement_to_call(), gen_last(), same_string_p, and syntax_reference_p.
Referenced by sww_seq_rwt().
module | odule |
Definition at line 430 of file freia_transformations.c.
References db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, gen_context_recurse, gen_true2(), mod_stat, module, module_name_to_entity(), pips_debug, reset_current_module_entity(), reset_current_module_statement(), sequence_domain, set_current_module_entity(), set_current_module_statement(), and sww_seq_rwt().
void freia_shuffle_move_forward | ( | statement | s | ) |
Definition at line 876 of file freia_transformations.c.
References shuffle_context::assigns, call_arguments, call_count_flt(), call_domain, call_function, CAR, shuffle_context::changed, delete_cumulated_rw_effects(), ENTITY_ASSIGN_P, EXPRESSION, expression_reference(), expression_reference_p(), FOREACH, free_instruction(), freia_image_variable_p(), gen_context_multi_recurse(), gen_context_recurse, gen_free_list(), gen_length(), gen_null2(), gen_true2(), hash_defined_p(), hash_pointer, hash_table_free(), hash_table_make(), make_continue_instruction(), NIL, pips_assert, pips_user_warning, ref_count_rwt(), reference_domain, reference_indices, reference_variable, shuffle_context::removed, seq_rwt(), sequence_domain, statement_call(), statement_call_p(), statement_instruction, and store_cumulated_rw_effects_list().
Referenced by freia_compile().
module | odule |
Definition at line 269 of file freia_transformations.c.
References db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, freia_unroll_while_for_spoc(), get_int_property(), mod_stat, module, module_name_to_entity(), module_reorder(), pips_debug, pips_user_warning, reset_current_module_entity(), reset_current_module_statement(), set_current_module_entity(), set_current_module_statement(), spoc_depth_prop, and stmt_renumber().
Definition at line 261 of file freia_transformations.c.
References gen_context_recurse, gen_true2(), maybe_unroll_while_rwt(), and whileloop_domain.
Referenced by freia_unroll_while().
Definition at line 201 of file freia_transformations.c.
References AIPO, call_arguments, call_function, CAR, CDR, CONS, copy_statement(), current, entity_local_name(), entity_type, EXPRESSION, expression_variable(), FOREACH, freia_convergence_sequence_p(), freia_statement_to_call(), gen_copy_seq(), gen_free_list(), gen_full_copy_list(), gen_nconc(), gen_remove_once(), get_int_property(), NIL, pips_assert, remove_register(), same_string_p, sequence_statements, spoc_depth_prop, STATEMENT, statement_call(), statement_call_p(), statement_sequence(), statement_sequence_p(), statement_undefined, substitute_reference_variable(), type_variable, variable_qualifiers, and whileloop_body.
Referenced by freia_unroll_while_for_spoc().
Definition at line 501 of file freia_transformations.c.
References entity_name, entity_pointer_p(), and pips_debug.
Referenced by remove_simple_scalar_pointers(), and rssp_ref().
|
static |
Definition at line 834 of file freia_transformations.c.
References count, freia_image_variable_p(), hash_defined_p(), hash_get(), hash_put(), hash_update(), and reference_variable.
Referenced by freia_shuffle_move_forward().
Definition at line 189 of file freia_transformations.c.
References subs_ctx::nvar, subs_ctx::ovar, and reference_variable.
Referenced by substitute_reference_variable().
remove "register" qualifier from qualifier list
Definition at line 55 of file freia_transformations.c.
References FOREACH, gen_remove_once(), and qualifier_register_p.
Referenced by maybe_unroll_while_rwt(), and sww_seq_rwt().
module | odule |
Definition at line 584 of file freia_transformations.c.
References address_of_scalar(), call_arguments, call_function, rssp_ctx::candidates, db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, rssp_ctx::defined, rssp_ctx::dereferenced, entity_declarations, entity_initial, entity_name, expression_call(), expression_syntax, FOREACH, gen_context_multi_recurse(), gen_false(), gen_free_list(), gen_null(), gen_true(), get_current_module_entity(), hash_defined_p(), hash_get(), hash_pointer, hash_put(), hash_table_free(), hash_table_make(), rssp_ctx::invalidated, make_integer_constant_entity(), make_reference(), make_syntax_reference(), mod_stat, module, module_name_to_entity(), NIL, pips_debug, pointer_candidate_p(), rssp_ctx::points_to, reference_domain, reset_current_module_entity(), reset_current_module_statement(), rssp_ref(), set_add_element(), set_belong_p(), set_current_module_entity(), set_current_module_statement(), SET_FOREACH, set_free(), set_make(), set_pointer, sizeofexpression_domain, value_expression, and value_expression_p.
Definition at line 508 of file freia_transformations.c.
References address_of_scalar(), call_arguments, call_domain, call_function, rssp_ctx::candidates, CAR, CDR, rssp_ctx::defined, rssp_ctx::dereferenced, ENTITY_ASSIGN_P, ENTITY_DEREFERENCING_P, entity_name, EXPRESSION, expression_call(), expression_call_p(), expression_domain, expression_reference(), expression_reference_p(), gen_get_ancestor(), gen_length(), hash_defined_p(), hash_put(), rssp_ctx::invalidated, pips_assert, pips_debug, pointer_candidate_p(), rssp_ctx::points_to, reference_indices, reference_variable, set_add_element(), and set_belong_p().
Referenced by remove_simple_scalar_pointers().
|
static |
Definition at line 748 of file freia_transformations.c.
References shuffle_context::assigns, call_arguments, call_function, CAR, CDR, CONS, end, ENTITY_ASSIGN_P, shuffle_context::equal, EXPRESSION, expression_reference(), expression_reference_p(), expression_variable(), FOREACH, freia_image_variable_p(), gen_free_list(), gen_length(), hash_defined_p(), hash_del(), HASH_FOREACH, hash_get(), hash_pointer, hash_put(), hash_table_clear(), hash_table_free(), hash_table_make(), NIL, pips_assert, reference_variable, sequence_statements, statement_call(), statement_call_p(), and substitute_image_occurrences().
Referenced by freia_shuffle_move_forward().
|
static |
Definition at line 712 of file freia_transformations.c.
References call_function, ENTITY_ASSIGN_P, entity_local_name(), entity_update_p, f(), hwac_freia_api(), and starts_with.
Referenced by substitute_image_occurrences().
|
static |
Definition at line 722 of file freia_transformations.c.
References shuffle_context::changed, shuffle_context::equal, hash_defined_p(), hash_get(), NIL, reference_indices, and reference_variable.
Referenced by substitute_image_occurrences().
Definition at line 74 of file freia_transformations.c.
References instruction_sequence_p, statement_instruction, statement_number, and STATEMENT_NUMBER_UNDEFINED.
Referenced by stmt_renumber().
|
static |
Definition at line 88 of file freia_transformations.c.
References gen_context_recurse, gen_null2(), sr_flt(), and statement_domain.
Referenced by freia_unroll_while().
|
static |
Definition at line 735 of file freia_transformations.c.
References call_domain, gen_context_multi_recurse(), gen_null(), gen_true(), reference_domain, sio_call_flt(), and sio_ref_rwt().
Referenced by seq_rwt().
Definition at line 195 of file freia_transformations.c.
References gen_context_recurse, gen_true2(), ref_rwt(), and reference_domain.
Referenced by maybe_unroll_while_rwt().
Definition at line 362 of file freia_transformations.c.
References call_arguments, CAR, CDR, entity_type, EXPRESSION, expression_reference(), expression_reference_p(), FOREACH, free_instruction(), freia_reduction_variable(), hash_pointer, hash_put(), hash_table_free(), hash_table_make(), instruction_assign_p(), instruction_call, make_continue_instruction(), reference_variable, remove_register(), replace_entities(), sequence_statements, statement_instruction, type_variable, variable_is_used(), and variable_qualifiers.
Referenced by freia_remove_scalar_ww_deps().
Definition at line 111 of file freia_transformations.c.
References gen_context_recurse, gen_true2(), reference_domain, vis_ctx::used, and vis_rwt().
Referenced by sww_seq_rwt().
Definition at line 102 of file freia_transformations.c.
References gen_recurse_stop(), reference_variable, vis_ctx::used, and vis_ctx::var.
Referenced by variable_is_used().