PIPS
|
#include <stdio.h>
#include <string.h>
#include "genC.h"
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "contrainte.h"
#include "ray_dte.h"
#include "sommet.h"
#include "sg.h"
#include "sc.h"
#include "polyedre.h"
#include "union.h"
#include "matrix.h"
#include "ri.h"
#include "constants.h"
#include "ri-util.h"
#include "misc.h"
#include "complexity_ri.h"
#include "database.h"
#include "graph.h"
#include "dg.h"
#include "paf_ri.h"
#include "parser_private.h"
#include "property.h"
#include "properties.h"
#include "prettyprint.h"
#include "reduction.h"
#include "text.h"
#include "text-util.h"
#include "tiling.h"
#include "pipsdbm.h"
#include "resources.h"
#include "static_controlize.h"
#include "paf-util.h"
#include "pip.h"
#include "array_dfg.h"
#include "prgm_mapping.h"
#include "reindexing.h"
Go to the source code of this file.
Macros | |
#define | CM_FORTRAN_EXT ".fcm" |
Ansi includes More... | |
#define | CRAFT_FORTRAN_EXT ".craft" |
Typedefs | |
typedef dfg_vertex_label | vertex_label |
Local defines. More... | |
typedef dfg_arc_label | arc_label |
Functions | |
statement | make_layout_statement (entity ae, int serial, int news) |
====================================================================== More... | |
statement | make_shared_statement (entity ae, int serial, int news) |
====================================================================== More... | |
void | cmf_layout_align (statement mod_stat) |
====================================================================== More... | |
void | craft_layout_align (statement mod_stat) |
====================================================================== More... | |
bool | print_parallelizedCMF_code (char *mod_name) |
====================================================================== More... | |
bool | print_parallelizedCRAFT_code (char *mod_name) |
====================================================================== More... | |
Variables | |
list | lparams |
Array bounds. More... | |
static graph | current_dfg |
static bdt | current_bdt |
#define CM_FORTRAN_EXT ".fcm" |
Ansi includes
Newgen includes
C3 includes
Pips includes
Definition at line 76 of file prettyprint.c.
#define CRAFT_FORTRAN_EXT ".craft" |
Definition at line 77 of file prettyprint.c.
typedef dfg_arc_label arc_label |
Definition at line 81 of file prettyprint.c.
typedef dfg_vertex_label vertex_label |
Local defines.
Definition at line 80 of file prettyprint.c.
void cmf_layout_align | ( | statement | mod_stat | ) |
======================================================================
void cmf_layout_align(statement mod_stat):
Static control of the node
We extract the bdt corresponding to this node.
We count the number of non constant dimension for each domain.
We get the array entity corresponding to this node.
Layout
We add these declarations to the statement of the module
After reindexing, the first statement is in fact a sequence and no longer an unstructured. Trust it to simplify the following:
Definition at line 183 of file prettyprint.c.
References adg_number_to_statement(), BASE_NODE_NUMBER, CAR, concatenate(), CONS, current_bdt, current_dfg, dfg_vertex_label_statement, ENDP, ENTITY, entity_domain, entity_type, entity_undefined, ENTRY_ORDER, EXIT_ORDER, exp, EXPRESSION, expression_normalized, extract_bdt(), fprint_entity_list(), fprintf(), gen_find_tabulated(), gen_length(), gen_nconc(), get_debug_level(), get_stco_from_current_map(), graph_vertices, instruction_sequence, instruction_tag, INT, is_instruction_sequence, is_normalized_linear, lexp, make_layout_statement(), mod_stat, MODULE_SEP_STRING, NIL, NORMALIZE_EXPRESSION, normalized_linear, normalized_tag, num, pips_user_error, POP, SA_MODULE_NAME, SAI, SCHEDULE, schedule_dims, sequence_statements, STATEMENT, statement_instruction, static_control_to_indices(), strdup(), type_variable, user_error, variable_dimensions, vars_in_vect_p(), VERTEX, and vertex_vertex_label.
Referenced by print_parallelizedCMF_code().
void craft_layout_align | ( | statement | mod_stat | ) |
======================================================================
void craft_layout_align(statement mod_stat):
Static control of the node
We extract the bdt corresponding to this node.
We count the number of non constant dimension for each domain.
We get the array entity corresponding to this node.
Shared
We add these declarations to the statement of the module
After reindexing, the first statement is in fact a sequence and no longer an unstructured. Trust it to simplify the following:
Definition at line 295 of file prettyprint.c.
References adg_number_to_statement(), BASE_NODE_NUMBER, CAR, concatenate(), CONS, current_bdt, current_dfg, dfg_vertex_label_statement, ENDP, ENTITY, entity_domain, entity_type, entity_undefined, ENTRY_ORDER, EXIT_ORDER, exp, EXPRESSION, expression_normalized, extract_bdt(), fprint_entity_list(), fprintf(), gen_find_tabulated(), gen_length(), gen_nconc(), get_debug_level(), get_stco_from_current_map(), graph_vertices, instruction_sequence, instruction_tag, INT, is_instruction_sequence, is_normalized_linear, lexp, make_shared_statement(), mod_stat, MODULE_SEP_STRING, NIL, NORMALIZE_EXPRESSION, normalized_linear, normalized_tag, num, pips_user_error, POP, SA_MODULE_NAME, SAI, SCHEDULE, schedule_dims, sequence_statements, STATEMENT, statement_instruction, static_control_to_indices(), strdup(), type_variable, user_error, variable_dimensions, vars_in_vect_p(), VERTEX, and vertex_vertex_label.
Referenced by print_parallelizedCRAFT_code().
======================================================================
statement make_layout_statement(entity ae, int serial, news):
put all the pieces of lstat in one statement
Definition at line 93 of file prettyprint.c.
References comment(), CONS, entity_local_name(), fprintf(), get_debug_level(), insert_comments_to_statement(), make_block_statement(), make_nop_statement, malloc(), NIL, and STATEMENT.
Referenced by cmf_layout_align().
======================================================================
statement make_shared_statement(entity ae, int serial, news):
put all the pieces of lstat in one statement
Definition at line 138 of file prettyprint.c.
References comment(), CONS, entity_local_name(), fprintf(), get_debug_level(), insert_comments_to_statement(), make_block_statement(), make_nop_statement, malloc(), NIL, and STATEMENT.
Referenced by craft_layout_align().
bool print_parallelizedCMF_code | ( | char * | mod_name | ) |
======================================================================
Static controlize code
The DFG, the BDT and the PLC
mod_name | odule |
Definition at line 401 of file prettyprint.c.
References adg_pure_dfg(), close_prettyprint(), CM_FORTRAN_EXT, cmf_layout_align(), code_decls_text, current_bdt, current_dfg, db_get_memory_resource(), debug_off, debug_on, empty_text(), entity_code(), fprint_bdt(), fprint_dfg(), fprint_plc(), free(), get_current_module_entity(), get_debug_level(), get_stco_from_current_map(), get_string_property(), init_prettyprint(), local_name_to_top_level_entity(), lparams, make_text(), make_text_resource(), MERGE_TEXTS, mod_stat, module, NIL, pips_internal_error, PRETTYPRINT_PARALLEL, reset_current_module_entity(), reset_current_stco_map(), set_bool_property(), set_current_module_entity(), set_current_stco_map(), set_string_property(), static_control_params, static_control_undefined, static_control_yes, strdup(), STS, and text_module().
bool print_parallelizedCRAFT_code | ( | char * | mod_name | ) |
======================================================================
Static controlize code
The DFG, the BDT and the PLC
mod_name | odule |
Definition at line 482 of file prettyprint.c.
References adg_pure_dfg(), close_prettyprint(), code_decls_text, CRAFT_FORTRAN_EXT, craft_layout_align(), current_bdt, current_dfg, db_get_memory_resource(), debug_off, debug_on, empty_text(), entity_code(), fprint_bdt(), fprint_dfg(), fprint_plc(), free(), get_current_module_entity(), get_debug_level(), get_stco_from_current_map(), get_string_property(), init_prettyprint(), local_name_to_top_level_entity(), lparams, make_text(), make_text_resource(), MERGE_TEXTS, mod_stat, module, NIL, pips_internal_error, PRETTYPRINT_PARALLEL, reset_current_module_entity(), reset_current_stco_map(), set_bool_property(), set_current_module_entity(), set_current_stco_map(), set_string_property(), static_control_params, static_control_undefined, static_control_yes, strdup(), STS, and text_module().
|
static |
Definition at line 85 of file prettyprint.c.
Referenced by cmf_layout_align(), craft_layout_align(), print_parallelizedCMF_code(), and print_parallelizedCRAFT_code().
|
static |
Definition at line 84 of file prettyprint.c.
Referenced by cmf_layout_align(), craft_layout_align(), print_parallelizedCMF_code(), and print_parallelizedCRAFT_code().
|
extern |
Array bounds.
Definition at line 111 of file reindexing.c.
Referenced by freia_add_image_arguments(), freia_create_helper_function(), freia_spoc_pipeline(), freia_substitute_by_helper_call(), freia_trpx_compile_one_dag(), generic_c_words_simplified_entity(), opencl_compile_mergeable_dag(), overloaded_parameters_p(), prepare_reindexing(), print_parallelizedCMF_code(), print_parallelizedCRAFT_code(), re_do_it(), reindexing(), sc_kernel_specific_agent(), and sigmac_params_decl().