25 #include "pips_config.h"
50 #include "constants.h"
68 #include "resources.h"
72 #include "array_dfg.h"
73 #include "prgm_mapping.h"
74 #include "reindexing.h"
76 #define CM_FORTRAN_EXT ".fcm"
77 #define CRAFT_FORTRAN_EXT ".craft"
105 for(i = 0; i < serial; i++) {
107 if((i < serial-1) || ((i == serial-1) && (news > 0)) )
110 for(i = 0; i < news; i++) {
126 "\nmake_layout_statement\n=====================\n%s\n",
150 for(i = 0; i < serial; i++) {
152 if((i < serial-1) || ((i == serial-1) && (news > 0)) )
155 for(i = 0; i < news; i++) {
171 "\nmake_shared_statement\n=====================\n%s\n",
186 list list_body, list_la, lae =
NIL, li =
NIL, lv;
211 fprintf(stderr,
"\nIn cmf_layout_align, CIEL : ");
238 "Rational case not treated yet !");
249 SAI,
num, (
string) NULL));
253 "\nOne ins (%d) has no array entity : %s\n",
263 int serial, nb_dims, news;
269 news = nb_dims - serial;
297 list list_body, list_la, lae =
NIL, li =
NIL, lv;
322 fprintf(stderr,
"\nIn craft_layout_align, CIEL : ");
349 "Rational case not treated yet !");
360 SAI,
num, (
string) NULL));
364 "\nOne ins (%d) has no array entity : %s\n",
374 int serial, nb_dims, news;
380 news = nb_dims - serial;
415 debug_on(
"PRETTYPRINT_DEBUG_LEVEL");
465 DBR_PARALLELPRINTED_FILE,
496 debug_on(
"PRETTYPRINT_DEBUG_LEVEL");
545 DBR_PARALLELPRINTED_FILE,
graph adg_pure_dfg(graph in_gr)
======================================================================
void fprint_dfg(FILE *fp, graph obj)
===========================================================================
static hash_table STS
The "STS" global variable is the hash table that maps the static_control on the statements.
statement adg_number_to_statement(int in_nb)
======================================================================
struct _newgen_struct_statement_ * statement
char * get_string_property(const char *)
static void comment(string_buffer code, spoc_hardware_type hw, dagvtx v, int stage, int side, bool flip)
#define vertex_vertex_label(x)
#define graph_vertices(x)
statement make_block_statement(list)
Make a block statement from a list of statement.
void reset_current_module_entity(void)
Reset the current module entity.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
#define ENDP(l)
Test if a list is empty.
#define POP(l)
Modify a list pointer to point on the next element of the list.
#define NIL
The empty list (nil in Lisp)
size_t gen_length(const list l)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
#define CAR(pcons)
Get the value of the first element of a list.
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
void insert_comments_to_statement(statement, const char *)
Insert a comment string (if non empty) at the beginning of the comments of a statement.
void fprint_entity_list(FILE *fp, list l)
void fprint_entity_list(FILE *fp,list l): prints a list of entities on file fp.
static statement mod_stat
We want to keep track of the current statement inside the recurse.
#define pips_internal_error
#define user_error(fn,...)
int get_debug_level(void)
GET_DEBUG_LEVEL returns the current debugging level.
#define MODULE_SEP_STRING
hash_table statement_mapping
these macros are obsolete! newgen functions (->) should be used instead
string concatenate(const char *,...)
Return the concatenation of the given strings.
void * gen_find_tabulated(const char *, int)
list static_control_to_indices(static_control)
package mapping : Alexis Platonoff, july 1993
void reset_current_stco_map(void)
========================================================================
static_control get_stco_from_current_map(statement)
========================================================================
void set_current_stco_map(statement_mapping)
========================================================================
void fprint_bdt(FILE *, bdt)
===========================================================================
struct _newgen_struct_bdt_ * bdt
#define SCHEDULE(x)
SCHEDULE.
#define static_control_params(x)
#define static_control_yes(x)
#define static_control_undefined
struct _newgen_struct_plc_ * plc
#define dfg_vertex_label_statement(x)
text empty_text(entity __attribute__((unused)) e, int __attribute__((unused)) m, statement __attribute__((unused)) s)
void close_prettyprint()
because some prettyprint functions may be used for debug, so the last hook set by somebody may have s...
void init_prettyprint(text(*hook)(entity, int, statement))
checks that the prettyprint hook was actually reset...
text text_module(entity, statement)
bool make_text_resource(const char *, const char *, const char *, text)
print.c
void fprint_plc(FILE *fp, plc obj)
========================================================================
#define PRETTYPRINT_PARALLEL
void set_bool_property(const char *, bool)
void set_string_property(const char *, const char *)
bool print_parallelizedCMF_code(char *mod_name)
======================================================================
#define CM_FORTRAN_EXT
Ansi includes
dfg_vertex_label vertex_label
Local defines.
statement make_layout_statement(entity ae, int serial, int news)
======================================================================
list lparams
Array bounds.
void cmf_layout_align(statement mod_stat)
======================================================================
bool print_parallelizedCRAFT_code(char *mod_name)
======================================================================
void craft_layout_align(statement mod_stat)
======================================================================
#define CRAFT_FORTRAN_EXT
statement make_shared_statement(entity ae, int serial, int news)
======================================================================
bool vars_in_vect_p(Pvecteur pv, list vars)
======================================================================
list extract_bdt(bdt b, int cn)
=======================================================================
#define make_nop_statement
An alias for make_empty_block_statement.
#define NORMALIZE_EXPRESSION(e)
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...
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
code entity_code(entity e)
#define EXPRESSION(x)
EXPRESSION.
@ is_instruction_sequence
#define instruction_tag(x)
#define normalized_tag(x)
#define expression_normalized(x)
#define sequence_statements(x)
#define instruction_sequence(x)
#define variable_dimensions(x)
#define code_decls_text(x)
#define statement_instruction(x)
#define normalized_linear(x)
#define entity_domain
newgen_syntax_domain_defined
#define STATEMENT(x)
STATEMENT.
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
#define MERGE_TEXTS(r, t)
#define exp
Avoid some warnings from "gcc -Wshadow".