PIPS
|
Go to the source code of this file.
Functions | |
static bool | combinable_regions_p (region r1, region r2) |
Copyright 2007-2012 Alain Muller, Frederique Silber-Chaussumier. More... | |
static bool | region_interlaced_p (list send_regions, region r) |
static bool | reduction_p (set reductions_l[STEP_UNDEF_REDUCE], entity e) |
static bool | comm_partial_p (list send_regions, region r) |
static statement | bound_to_statement (entity mpi_module, list expr_bound, entity array_region, string bound_name, int dim, list index) |
static list | phi_free_contraints_to_expressions (bool equality, region reg) |
static bool | contraintes_to_expression (bool equality, entity phi, Psysteme sys, list *expr_l, list *expr_u) |
static void | compute_region (entity mpi_module, region reg, entity array_region, bool loop_p, statement *compute_regions_stmt) |
static bool | region_reduction_p (set reductions_l[STEP_UNDEF_REDUCE], region reg) |
static void | generate_call_set_regionarray (entity mpi_module, region reg, entity array_region, bool loop_p, bool is_reduction, bool is_interlaced, statement *set_regions_stmt) |
static void | generate_call_stepalltoall (entity mpi_module, region reg, bool is_reduction, bool is_interlaced, bool is_partial, statement *stepalltoall_stmt) |
pourquoi flush et non pas alltoall ? More... | |
static void | region_to_statement (entity mpi_module, region reg, bool loop_p, bool is_reduction, bool is_interlaced, bool is_partial, statement *compute_regions_stmt, statement *set_regionarray_stmt, statement *stepalltoall_stmt) |
static void | transform_regions_to_statement (entity mpi_module, list regions_l, bool loop_p, list send_as_comm_l, set reductions_l[STEP_UNDEF_REDUCE], statement *compute_regions_stmt, statement *set_regionarray_stmt, statement *stepalltoall_stmt) |
static void | add_workchunk_loop (entity mpi_module, bool loop_p, loop loop_stmt, statement *compute_regions_stmt) |
void | compile_regions (entity new_module, list regions_l, bool loop_p, loop loop_stmt, list send_as_comm_l, set reductions_l[STEP_UNDEF_REDUCE], statement mpi_begin_stmt, statement mpi_end_stmt) |
|
static |
Definition at line 481 of file compile_regions.c.
References ENDP, generate_call_get_workchunk_loopbounds(), generate_loop_workchunk(), pips_debug, and statement_block().
Referenced by compile_regions().
|
static |
Definition at line 96 of file compile_regions.c.
References call_to_expression(), CAR, CONS, CreateIntrinsic(), ENDP, entity_intrinsic(), entity_undefined, EXPRESSION, FOREACH, fortran_module_p(), gen_full_copy_list(), gen_length(), get_current_module_entity(), int_to_expression(), make_assign_statement(), make_call(), make_reference(), MakeBinaryCall(), MAX_OPERATOR_NAME, MIN_OPERATOR_NAME, MINUS_C_OPERATOR_NAME, NIL, pips_assert, pips_debug, pips_internal_error, reference_to_expression(), STEP_INDEX_SLICE_LOW_NAME, STEP_INDEX_SLICE_UP_NAME, and step_symbolic_expression().
Referenced by compute_region().
Copyright 2007-2012 Alain Muller, Frederique Silber-Chaussumier.
This file is part of STEP.
The program is distributed under the terms of the GNU General Public License.
Definition at line 19 of file compile_regions.c.
References action_equal_p(), region_action, region_entity, and region_undefined_p.
Referenced by comm_partial_p(), and region_interlaced_p().
Definition at line 70 of file compile_regions.c.
References assert, combinable_regions_p(), FOREACH, pips_debug, REGION, region_write_p, and step_partial_p().
Referenced by transform_regions_to_statement().
void compile_regions | ( | entity | new_module, |
list | regions_l, | ||
bool | loop_p, | ||
loop | loop_stmt, | ||
list | send_as_comm_l, | ||
set | reductions_l[STEP_UNDEF_REDUCE], | ||
statement | mpi_begin_stmt, | ||
statement | mpi_end_stmt | ||
) |
Definition at line 498 of file compile_regions.c.
References add_workchunk_loop(), comment(), ENDP, free_statement(), generate_call_flush(), insert_statement(), list_undefined_p, make_plain_continue_statement(), pips_debug, put_a_comment_on_a_statement(), statement_block(), strdup(), and transform_regions_to_statement().
Referenced by compile_body().
|
static |
Definition at line 263 of file compile_regions.c.
References AND_OPERATOR_NAME, b1, b2, bound_to_statement(), C_AND_OPERATOR_NAME, c_module_p(), CONS, contraintes_to_expression(), copy_expression(), DIMENSION, dimension_lower, dimension_upper, effect_any_reference, ENDP, entity_intrinsic(), entity_name, entity_to_expression(), entity_type, EXPRESSION, expression_list_to_binary_operator_call(), expression_syntax, FOREACH, gen_nconc(), gen_nth(), get_current_module_entity(), ifdebug, insert_statement(), instruction_to_statement(), is_instruction_test, make_empty_block_statement(), make_instruction(), make_test(), NIL, phi_free_contraints_to_expressions(), pips_assert, pips_debug, print_statement(), put_a_comment_on_a_statement(), reference_indices, reference_variable, region_entity, region_system, statement_undefined, STEP_INDEX_SLICE_LOW_NAME, STEP_INDEX_SLICE_UP_NAME, step_local_slice_index(), strdup(), syntax_reference, type_variable, and variable_dimensions.
Referenced by region_to_statement().
|
static |
Definition at line 194 of file compile_regions.c.
References CONS, CONTRAINTE_UNDEFINED_P, copy_expression(), EXPRESSION, free_expression(), int_to_expression(), make_op_exp(), make_vecteur_expression(), pips_debug, Scontrainte::succ, Svecteur::succ, val_of, VALUE_TO_INT, vect_coeff(), vect_del_var(), Scontrainte::vecteur, and VECTEUR_NUL_P.
Referenced by compute_region().
|
static |
Definition at line 376 of file compile_regions.c.
References array, build_call_STEP_set_recvregions(), build_call_STEP_set_sendregions(), entity_to_expression(), get_entity_step_commsize(), insert_statement(), int_to_expression(), pips_debug, region_entity, and region_read_p.
Referenced by region_to_statement().
|
static |
pourquoi flush et non pas alltoall ?
Definition at line 392 of file compile_regions.c.
References array, build_call_STEP_AllToAll(), insert_statement(), and region_entity.
Referenced by region_to_statement().
Definition at line 139 of file compile_regions.c.
References C_EQUAL_OPERATOR_NAME, C_LESS_OR_EQUAL_OPERATOR_NAME, c_module_p(), CONS, CONTRAINTE_UNDEFINED_P, effect_any_reference, entity_intrinsic(), EQUAL_OPERATOR_NAME, EXPRESSION, expression_syntax, FOREACH, get_current_module_entity(), int_to_expression(), LESS_OR_EQUAL_OPERATOR_NAME, make_vecteur_expression(), MakeBinaryCall(), NIL, reference_indices, reference_variable, region_system, Scontrainte::succ, syntax_reference, VALUE_TO_INT, vect_coeff(), and Scontrainte::vecteur.
Referenced by compute_region().
Definition at line 55 of file compile_regions.c.
References pips_debug, set_belong_p(), and STEP_UNDEF_REDUCE.
Referenced by compile_body(), pointer_to_initial_name(), region_reduction_p(), and step_get_directive_reductions().
Definition at line 32 of file compile_regions.c.
References assert, combinable_regions_p(), FOREACH, pips_debug, REGION, region_write_p, and step_interlaced_p().
Referenced by transform_regions_to_statement().
Definition at line 369 of file compile_regions.c.
References array, reduction_p(), region_entity, and region_write_p.
Referenced by transform_regions_to_statement().
|
static |
bug bug bug si on inverse les instr expr_nb_region et region_array_name alors bug. POURQUOI??
Definition at line 403 of file compile_regions.c.
References array, compute_region(), CONS, entity_name, expression_undefined, generate_call_set_regionarray(), generate_call_stepalltoall(), insert_statement(), make_plain_continue_statement(), NIL, pips_debug, put_a_comment_on_a_statement(), REGION, region_entity, region_read_p, region_system, sc_safe_elim_redund(), step_local_regionArray(), STEP_MAX_NB_LOOPSLICES_NAME, STEP_RR_NAME, STEP_SR_NAME, step_symbolic_expression(), text_rw_array_regions(), and text_to_string().
Referenced by transform_regions_to_statement().
|
static |
Definition at line 460 of file compile_regions.c.
References comm_partial_p(), FOREACH, make_empty_block_statement(), pips_debug, REGION, region_interlaced_p(), region_reduction_p(), and region_to_statement().
Referenced by compile_regions().