25 #include "pips_config.h"
41 " $ REALNBOFARRAYS,\n"
42 " $ REALNBOFTEMPLATES,\n"
43 " $ REALNBOFPROCESSORS,\n"
44 " $ REALMAXSIZEOFPROCS,\n"
45 " $ REALMAXSIZEOFBUFFER\n\n"
46 "!\n! parameters\n!\n"
47 " parameter(REALNBOFARRAYS = %d)\n"
48 " parameter(REALNBOFTEMPLATES = %d)\n"
49 " parameter(REALNBOFPROCESSORS = %d)\n"
50 " parameter(REALMAXSIZEOFPROCS = %d)\n"
51 " parameter(REALMAXSIZEOFBUFFER = %d)\n",
73 fprintf(file,
"!\n! parameters generated for %s\n!\n",
83 pips_debug(8,
"considering array %s (new is %s)\n",
92 for (i=1 ; i<=andim ; i++)
104 " parameter(%s = %d)\n"
105 " parameter(%s = %d)\n",
164 fprintf(file,
"!\n! Arrays Initializations for %s\n!\n",
181 "!\n! initializing array %s, number %d\n!\n"
192 " MSTATUS(%d) = %d\n"
193 " LIVEMAPPING(%d) = .TRUE.\n", an, an, an);
199 for (i=1; i<=nd; i++)
216 " RANGEA(%d, %d, 1) = %d\n"
217 " RANGEA(%d, %d, 2) = %d\n"
218 " RANGEA(%d, %d, 3) = %d\n!\n"
219 " RANGEA(%d, %d, 4) = %d\n",
220 an, i, lb, an, i, ub, an, i, sz,
231 fprintf(file,
" RANGEA(%d, %d, 5) = %d\n",
260 " RANGEA(%d, %d, 5) = %d\n"
261 " RANGEA(%d, %d, 6) = %d\n"
262 " RANGEA(%d, %d, 7) = %d\n",
263 an, i,
param, an, i, rate, an, i, shift);
290 no = (lb + shift) / sc ;
298 " RANGEA(%d, %d, 5) = %d\n"
299 " RANGEA(%d, %d, 6) = %d\n"
300 " RANGEA(%d, %d, 7) = %d\n"
301 " RANGEA(%d, %d, 8) = %d\n",
302 an, i,
param, an, i, sc, an, i, no, an, i, shift);
331 no = (rate*lb + shift) / sc ;
342 " RANGEA(%d, %d, 5) = %d\n"
343 " RANGEA(%d, %d, 6) = %d\n"
344 " RANGEA(%d, %d, 7) = %d\n"
345 " RANGEA(%d, %d, 8) = %d\n"
346 " RANGEA(%d, %d, 9) = %d\n"
347 " RANGEA(%d, %d, 10) = %d\n",
348 an, i,
param, an, i, sc, an, i, no,
349 an, i, shift, an, i, rate, an, i, chck);
369 fprintf(file,
" ALIGN(%d, %d, 1) = INTFLAG\n", an, i);
376 " ALIGN(%d, %d, 1) = %d\n"
377 " ALIGN(%d, %d, 2) = %d\n"
378 " ALIGN(%d, %d, 3) = %d\n",
394 fprintf(file,
"!\n! Templates Initializations\n!\n");
410 "!\n! initializing template %s, number %d\n!\n"
424 " RANGET(%d, %d, 1) = %d\n"
425 " RANGET(%d, %d, 2) = %d\n"
426 " RANGET(%d, %d, 3) = %d\n",
427 tn, tempdim, lb, tn, tempdim, ub, tn, tempdim, sz);
440 bool block_case =
false;
453 " DIST(%d, %d, 1) = %d\n"
454 " DIST(%d, %d, 2) = %d\n",
455 tn, procdim, tempdim, tn, procdim,
param);
473 fprintf(file,
"!\n! Processors Initializations\n!\n");
481 fprintf(file,
"!\n! initializing processors %s, number %d\n!\n",
486 fprintf(file,
" NODIMP(%d) = %d\n", pn, nd);
497 " RANGEP(%d, %d, 1) = %d\n"
498 " RANGEP(%d, %d, 2) = %d\n"
499 " RANGEP(%d, %d, 3) = %d\n",
500 pn, procdim, lb, pn, procdim, ub, pn, procdim, sz);
int get_int_property(const string)
static bool ud(effect fin, effect fout)
UD detects Use/Def conflicts between effects FIN and FOUT.
bool(* dynamic_entity_p)(entity)
as expected, true if entity e is dynamic.
void gen_free_list(list l)
free the spine of the list
#define MAP(_map_CASTER, _map_item, _map_code, _map_list)
Apply/map an instruction block on all the elements of a list (old fashioned)
#define alignment_templatedim(x)
#define alignment_undefined
#define DISTRIBUTION(x)
DISTRIBUTION.
#define distribution_style(x)
#define alignment_constant(x)
#define align_template(x)
#define align_alignment(x)
#define distribute_distribution(x)
#define alignment_rate(x)
#define alignment_arraydim(x)
#define distribute_processors(x)
#define distribution_parameter(x)
#define style_cyclic_p(x)
int HpfcExpressionToInt(expression e)
HpfcExpressionToInt(e)
alignment FindAlignmentOfTemplateDim(list lal, int dim)
alignment FindAlignmentOfDim(list lal, int dim)
distribution FindDistributionOfDim(list ldi, int dim, int *pdim)
bool ith_dim_overlapable_p(entity array, int i)
tag new_declaration_tag(entity array, int dim)
list list_of_distributed_arrays_for_module(entity module)
returns the list of entities that are 'local' to module
#define iceil(a, b)
integer ceiling function
entity load_similar_mapping(entity)
entity load_new_node(entity)
int number_of_templates(void)
int number_of_processors(void)
list list_of_processors(void)
list list_of_templates(void)
distribute load_hpf_distribution(entity)
entity load_primary_entity(entity)
int number_of_distributed_arrays(void)
declarations.c
string bound_parameter_name(entity, string, int)
returns a name for the bound of the declaration of array array, side side and dimension dim.
bool bound_similar_mapping_p(entity)
align load_hpf_alignment(entity)
intptr_t load_hpf_number(entity)
static int code_number(tag t)
translation from an hpf_newdecl tag to the runtime code expected
void create_init_common_param_for_arrays(FILE *file, entity module)
int max_size_of_processors()
void create_init_common_param_for_processors(FILE *file)
void create_parameters_h(FILE *file, entity module)
create_parameters_h
void create_common_parameters_h(FILE *file)
Fabien Coelho, June 1993.
void create_init_common_param(FILE *file)
create_init_common_param (templates and modules)
void create_init_common_param_for_templates(FILE *file)
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
const char * module_local_name(entity e)
Returns the module local user name.
dimension entity_ith_dimension(entity, int)
Another semantics would be: is this reference r to e a kill for e? In general, this cannot be answere...
dimension FindIthDimension(entity, int)
int element_number(basic, list)
END_EOLE.
int SizeOfIthDimension(entity, int)
this function returns the size of the ith dimension of a variable e.
int NumberOfDimension(entity)
#define storage_formal_p(x)
#define dimension_lower(x)
#define entity_storage(x)
#define dimension_upper(x)
#define variable_dimensions(x)
#define type_variable_p(x)
#define variable_basic(x)
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
The structure used to build lists in NewGen.