6 #ifndef movements_header_included
7 #define movements_header_included
36 #define COLUMN_MAJOR true
38 #define SUFFIX_FOR_TEMP_VAR1_IN_INNER_LOOP "_1"
39 #define SUFFIX_FOR_TEMP_VAR2_IN_INNER_LOOP "_2"
46 extern void update_basis(
Pbase ,
Pbase *,
Pbase *,
Pbase *,
Pbase ,
Pbase ,
Pbase *,
Pbase *,
Pbase *,
Pbase *,
Pbase *,
bool ,
Pbase );
50 extern statement movement_computation(
entity ,
bool ,
bool ,
bool ,
entity ,
Psysteme ,
Pbase ,
Pbase ,
Pbase ,
Pbase ,
Pbase ,
int ,
int );
51 extern Psysteme sc_image_computation(
entity ,
entity ,
Psysteme ,
Psysteme ,
Pbase ,
Pbase *,
entity ,
Pbase ,
Pbase ,
Pbase *,
int ,
int ,
int ,
int *,
int *);
73 extern statement make_movements_loop_body_wp65(
entity ,
bool ,
entity ,
Pbase ,
Pbase ,
Psysteme ,
Psysteme ,
Pbase ,
int ,
int ,
int );
Value * matrice
package matrice
void update_basis(Pbase, Pbase *, Pbase *, Pbase *, Pbase, Pbase, Pbase *, Pbase *, Pbase *, Pbase *, Pbase *, bool, Pbase)
Update all the basis needed for data movement generation.
bool variable_in_declaration_module_p(entity, entity)
expression complex_bound_generation(Value, Value, Value, Pvecteur, Variable, Pvecteur, Variable)
complex_bound_generation.c
statement make_statement_operator(entity, cons *)
expression make_div_expression(expression, cons *)
operation.c
expression complex_bound_computation(Psysteme, Pbase, Pcontrainte, Pcontrainte, int)
Psysteme loop_bounds_to_tile_bounds(Psysteme, Pbase, tiling, Pvecteur, Pvecteur, Pvecteur)
this function returns the system of constraints
void sort_tile_indices(Pbase, Pbase *, matrice, int)
Sort the tile indices base, such that the indices correspond to the tile indices of the array element...
void bound_distribution(Psysteme *, Pbase, int[][4], int, Psysteme *, Psysteme *, Psysteme)
constraint_distribution.c
expression make_op_expression(entity, cons *)
void wp65_debug_print_module(entity, statement)
Psysteme sc_image_computation(entity, entity, Psysteme, Psysteme, Pbase, Pbase *, entity, Pbase, Pbase, Pbase *, int, int, int, int *, int *)
This function computes the system of constraints characterizing the image by the array function of th...
statement movement_computation(entity, bool, bool, bool, entity, Psysteme, Pbase, Pbase, Pbase, Pbase, Pbase, int, int)
Calcul des nouvelles bornes des boucles et de la nouvelle fonction d'acces a une reference d'un table...
Variable sc_add_new_variable_name(entity, Psysteme)
sc_add_variable.c
void print_fullname_base(Pbase)
void egalite_distribution(Psysteme, Psysteme *, Pbase)
Psysteme elim_redund_sc_with_sc(Psysteme, Psysteme, Pbase, int)
Build the system of inequations of sc1 no-redundant with system sc2.
expression test_bound_generation(Psysteme, Pbase)
This function generates the expressions of the guard if it exists.
statement make_datum_movement(entity, bool, entity, Pbase, Pbase)
statement make_datum_movement(module,receive_code,ent, local_indices,var_id)
statement make_movement_scalar_wp65(entity, bool, reference, entity)
statement make_movement_scalar_wp65(receive_code,r)
expression lower_bound_generation(Psysteme, Pbase, int, int)
bound_generation.c
Psysteme build_sc_machine(int, int, int, Psysteme, entity, Pbase, entity)
build_sc_machine.c
void wp65_debug_print_text(entity, statement)
make_loop_body.c
Pbase variables_in_declaration_list(entity, code)
void constraint_distribution(Psysteme, Psysteme *, Pbase, int[][4])
Distribution of the constraints of the system sc into several systems.
Pvecteur make_loop_indice_equation(Pbase, tiling, Pvecteur, Pvecteur, Pvecteur, int)
build_sc_tile.c
statement bound_generation(entity, bool, bool, entity, Pbase, Pbase, Psysteme *, Pbase, int, int[][4])
Generation of the new loop nest characterizing the new domain.
statement make_movements_loop_body_wp65(entity, bool, entity, Pbase, Pbase, Psysteme, Psysteme, Pbase, int, int, int)
statement make_movements_loop_body_wp65(module,receive_code, ent,local_indices,var_id,...
entity find_operator(entity, string, string)
Pbase build_image_base(bool, Pbase, Pbase, Pbase)
cproto-generated files
expression upper_bound_generation(Psysteme, Pbase, int, int)
This fonction generates the upper bounds of the "loop_rank"-th loop.
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....