PIPS
step.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/step/step-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef step_header_included
7 #define step_header_included
8 /* step-local.h */
9 #include "genC.h" // for list, stack, set, ...
10 #include "linear.h" // needed by ri.h for Pvecteur; needed by dg.h for Ptsg
11 #include "ri.h" // for entity, statement, ...
12 #include "step_private.h" // for step_directive
13 #include "effects.h" // for effect
14 
15 
16 /* cproto-generated files */
17 /* directives.c */
18 extern void get_step_directive_name(step_directive /*drt*/, string */*directive_txt*/);
19 extern void step_directive_type_print(step_directive /*drt*/);
20 extern void step_directives_print(void);
21 extern void step_directives_init(bool /*first_p*/);
22 extern void step_directives_reset(void);
23 extern void step_directives_save(void);
25 extern bool step_directives_bound_p(statement /*stmt*/);
26 extern void step_directives_store(statement /*stmt*/, step_directive /*d*/);
27 extern bool step_directive_to_strings(step_directive /*d*/, bool /*is_fortran*/, string */*begin_txt*/, string */*end_txt*/);
30 extern void step_directive_print(step_directive /*d*/);
31 extern bool step_private_p(statement /*stmt*/, entity /*e*/);
32 /* analyse.c */
33 extern bool step_interlaced_p(effect /*reg*/);
34 extern bool step_partial_p(effect /*reg*/);
35 extern bool step_analysed_module_p(const char */*module_name*/);
36 extern void load_step_comm(void);
37 extern void reset_step_comm(void);
38 extern void store_step_comm(void);
39 extern void debug_print_effects_list(list /*l*/, string /*txt*/);
40 extern bool step_analyse_init(const string /*module_name*/);
42 extern bool step_analyse(const char */*module_name*/);
43 /* compile_RT.c */
45 extern void generate_call_construct_begin_construct_end(entity /*new_module*/, step_directive /*drt*/, statement /*mpi_begin_stmt*/, statement /*mpi_end_stmt*/);
46 extern void generate_call_flush(statement */*stepalltoall_stmt*/);
47 extern void generate_loop_workchunk(entity /*mpi_module*/, statement */*compute_regions_stmt*/);
48 extern void generate_call_get_workchunk_loopbounds(entity /*mpi_module*/, loop /*loop_stmt*/, statement */*compute_regions_stmt*/);
49 extern statement generate_call_get_rank_loopbounds(entity /*new_module*/, loop /*loop_stmt*/);
50 extern statement generate_call_get_rank(entity /*new_module*/);
51 extern statement generate_call_compute_loopslices(entity /*new_module*/, loop /*loop_stmt*/);
52 extern statement generate_call_get_commsize(entity /*new_module*/);
53 extern void generate_call_init_regionArray(list /*referenced_entities*/, statement /*before*/, statement /*after*/);
55 extern void set_RT_add_local(entity /*e*/);
56 extern void step_RT_clean_local(void);
58 extern entity step_parameter(string /*name_*/, entity /*module*/, expression /*expr*/);
59 extern entity step_symbolic(string /*name*/, entity /*module*/);
60 extern expression step_symbolic_expression(string /*name*/, entity /*module*/);
61 extern expression step_function(string /*name*/, list /*args*/);
62 extern void step_RT_set_local_declarations(entity /*module*/, statement /*body*/);
63 extern entity step_local_regionArray(entity /*module*/, entity /*array*/, string /*region_array_name*/, expression /*expr_nb_region*/);
64 extern entity step_local_slice_index(entity /*module*/);
65 extern entity step_local_loopSlices(entity /*module*/, entity /*i*/);
66 extern entity get_entity_step_rank(entity /*module*/);
67 extern entity get_entity_step_commsize(entity /*module*/);
68 extern entity step_local_loop_index(entity /*module*/, string /*name*/);
69 extern entity step_type(entity data);
71 extern statement build_call_STEP_AllToAll(entity /*module*/, entity /*array*/, bool /*is_partial*/, bool /*is_interlaced*/);
72 extern statement build_call_STEP_WaitAll(list /*comm_stmt*/);
73 extern statement build_call_STEP_set_sendregions(entity /*user_array*/, expression /*expr_nb_workchunk*/, entity /*regions_array*/, bool /*is_interlaced*/, bool /*is_reduction*/);
74 extern statement build_call_STEP_set_recvregions(entity /*user_array*/, expression /*expr_nb_workchunk*/, entity /*regions_array*/);
75 extern statement build_call_STEP_flush(void);
76 extern statement call_STEP_subroutine3(string /*name*/, ...);
77 extern statement call_STEP_subroutine2(string /*name*/, ...);
79 extern statement call_STEP_subroutine(string /*name*/, list /*args*/, entity data);
80 /* compile_mpi.c */
81 extern statement compile_mpi(statement /*directive_stmt*/, string /*new_module_name*/, step_directive /*drt*/, int /*transformation*/);
82 /* compile_regions.c */
83 extern void compile_regions(entity /*new_module*/, list /*regions_l*/, bool /*loop_p*/, loop /*loop_stmt*/, list /*send_as_comm_l*/, set /*reductions_l*/[4], statement /*mpi_begin_stmt*/, statement /*mpi_end_stmt*/);
84 /* compile.c */
85 extern statement compile_omp(statement /*stmt*/, step_directive /*d*/);
86 extern void add_omp_guard(statement */*block*/);
87 extern void step_compile_analysed_module(const char */*module_name*/, string /*finit_name*/);
88 extern void step_compile_generated_module(const char */*module_name*/, string /*finit_name*/);
89 extern bool step_compile(const char */*module_name*/);
90 /* parser.c */
91 extern void set_current_transform(int /*transform*/);
92 extern void insert_optional_pragma(int type);
93 extern entity entity_from_user_name(string /*name*/);
94 extern void remove_old_pragma(void);
95 extern step_directive begin_omp_construct(int type, string /*s*/);
97 extern bool step_parser(const char */*module_name*/);
98 /* install.c */
99 extern bool step_install(const string /*program_name*/);
100 /* comment2pragma.c */
101 extern int comment2pragmaleng;
102 extern FILE *comment2pragmain;
103 extern FILE *comment2pragmaout;
104 extern int comment2pragmalineno;
105 extern int comment2pragma_flex_debug;
106 extern char *comment2pragmatext;
107 extern int comment2pragmalex(void);
108 extern void comment2pragmarestart(FILE */*input_file*/);
110 extern int comment2pragmaget_lineno(void);
111 extern FILE *comment2pragmaget_in(void);
112 extern FILE *comment2pragmaget_out(void);
113 extern int comment2pragmaget_leng(void);
114 extern char *comment2pragmaget_text(void);
115 extern void comment2pragmaset_lineno(int /*_line_number*/);
116 extern void comment2pragmaset_in(FILE */*_in_str*/);
117 extern void comment2pragmaset_out(FILE */*_out_str*/);
118 extern int comment2pragmaget_debug(void);
119 extern void comment2pragmaset_debug(int /*_bdebug*/);
120 extern int comment2pragmalex_destroy(void);
121 extern void *comment2pragmaalloc(yy_size_t /*size*/);
122 extern void *comment2pragmarealloc(void */*ptr*/, yy_size_t /*size*/);
123 extern void comment2pragmafree(void */*ptr*/);
124 extern void step_comment2pragma_handle(statement /*stmt*/);
125 /* step_lexer.c */
126 extern int step_lexerleng;
127 extern FILE *step_lexerin;
128 extern FILE *step_lexerout;
129 extern int step_lexerlineno;
130 extern int step_lexer_flex_debug;
131 extern char *step_lexertext;
132 extern int step_lexerlex(void);
133 extern void step_lexerrestart(FILE */*input_file*/);
134 extern void step_lexerpop_buffer_state(void);
135 extern int step_lexerget_lineno(void);
136 extern FILE *step_lexerget_in(void);
137 extern FILE *step_lexerget_out(void);
138 extern int step_lexerget_leng(void);
139 extern char *step_lexerget_text(void);
140 extern void step_lexerset_lineno(int /*_line_number*/);
141 extern void step_lexerset_in(FILE */*_in_str*/);
142 extern void step_lexerset_out(FILE */*_out_str*/);
143 extern int step_lexerget_debug(void);
144 extern void step_lexerset_debug(int /*_bdebug*/);
145 extern int step_lexerlex_destroy(void);
146 extern void *step_lexeralloc(yy_size_t /*size*/);
147 extern void *step_lexerrealloc(void */*ptr*/, yy_size_t /*size*/);
148 extern void step_lexerfree(void */*ptr*/);
149 /* step_bison_parser.c */
150 extern void step_lexererror(const char */*s*/);
151 extern int step_lexerdebug;
152 extern int step_lexerchar;
153 extern int step_lexernerrs;
154 extern int step_lexerparse(void);
155 extern void step_bison_parse(pragma /*pgm*/, statement /*stmt*/);
156 #endif /* step_header_included */
size_t yy_size_t
Definition: genread_lex.c:413
void generate_call_get_workchunk_loopbounds(entity, loop, statement *)
Definition: compile_RT.c:119
int comment2pragmaget_lineno(void)
effect rectangularization_region(effect)
statement build_call_STEP_WaitAll(list)
Definition: compile_RT.c:681
void set_RT_add_local(entity)
Definition: compile_RT.c:247
entity step_local_loop_index(entity, string)
Definition: compile_RT.c:534
int step_lexerchar
void step_directives_print(void)
Definition: directives.c:79
int comment2pragmaget_leng(void)
int step_lexerleng
step_lexer.c
char * step_lexerget_text(void)
bool step_install(const string)
install.c
Definition: install.c:15
void comment2pragmaset_debug(int)
int comment2pragmaget_debug(void)
int comment2pragmalineno
bool step_analyse_init(const string)
Definition: analyse.c:361
void * step_lexeralloc(yy_size_t)
int comment2pragmalex_destroy(void)
int step_lexerparse(void)
statement call_STEP_subroutine2(string,...)
Definition: compile_RT.c:819
void store_step_comm(void)
Definition: analyse.c:206
step_directive begin_omp_construct(int type, string)
Definition: parser.c:159
void step_directive_print(step_directive)
Definition: directives.c:362
int step_lexerget_debug(void)
statement generate_call_get_commsize(entity)
Definition: compile_RT.c:193
void comment2pragmarestart(FILE *)
void step_lexerpop_buffer_state(void)
void step_lexerset_out(FILE *)
expression step_symbolic_expression(string, entity)
Definition: compile_RT.c:353
int step_lexer_flex_debug
void * step_lexerrealloc(void *, yy_size_t)
int step_lexernerrs
void step_lexererror(const char *)
step_bison_parser.c
entity get_entity_step_commsize(entity)
Que signifie local?
Definition: compile_RT.c:519
int step_lexerget_lineno(void)
void check_entity_step_type(entity data)
Definition: compile_RT.c:845
void step_lexerset_debug(int)
FILE * comment2pragmaget_out(void)
statement generate_call_get_rank_loopbounds(entity, loop)
Definition: compile_RT.c:138
void step_lexerrestart(FILE *)
bool step_analyse(const char *)
Definition: analyse.c:1429
FILE * step_lexerget_in(void)
void remove_old_pragma(void)
Definition: parser.c:139
void reset_step_comm(void)
Definition: analyse.c:199
entity step_local_slice_index(entity)
Definition: compile_RT.c:486
void step_comment2pragma_handle(statement)
bool step_interlaced_p(effect)
analyse.c
void step_RT_clean_local(void)
Definition: compile_RT.c:255
void step_bison_parse(pragma, statement)
void step_lexerset_in(FILE *)
void generate_loop_workchunk(entity, statement *)
Definition: compile_RT.c:101
statement step_directive_basic_workchunk(step_directive)
Definition: directives.c:286
int step_lexerdebug
void step_RT_set_local_declarations(entity, statement)
Definition: compile_RT.c:376
entity get_entity_step_rank(entity)
Definition: compile_RT.c:513
void * comment2pragmarealloc(void *, yy_size_t)
statement build_call_STEP_init_regionArray(entity)
Definition: compile_RT.c:600
expression get_expression_addr(expression)
compile_RT.c
Definition: compile_RT.c:27
void debug_print_effects_list(list, string)
Definition: analyse.c:334
statement compile_mpi(statement, string, step_directive, int)
compile_mpi.c
Definition: compile_mpi.c:517
expression step_function(string, list)
Definition: compile_RT.c:359
statement call_STEP_subroutine3(string,...)
Definition: compile_RT.c:781
void step_directives_reset(void)
Definition: directives.c:103
int comment2pragmaleng
comment2pragma.c
void step_directives_init(bool)
Definition: directives.c:88
void step_directives_store(statement, step_directive)
Definition: directives.c:126
FILE * comment2pragmaget_in(void)
bool step_directives_bound_p(statement)
Definition: directives.c:121
bool step_partial_p(effect)
set step_created_entity
Definition: compile_RT.c:245
char * comment2pragmaget_text(void)
void step_directive_type_print(step_directive)
Definition: directives.c:51
statement generate_call_compute_loopslices(entity, loop)
Definition: compile_RT.c:176
void generate_call_init_regionArray(list, statement, statement)
void step_compile_generated_module(const char *, string)
generated source: no analyse and no compilation necessary.
Definition: compile.c:354
FILE * step_lexerin
void set_current_transform(int)
parser.c
Definition: parser.c:41
statement build_call_STEP_set_recvregions(entity, expression, entity)
Definition: compile_RT.c:736
bool step_directive_to_strings(step_directive, bool, string *, string *)
Definition: directives.c:147
void comment2pragmaset_out(FILE *)
entity step_local_regionArray(entity, entity, string, expression)
Definition: compile_RT.c:428
FILE * comment2pragmaout
set step_created_symbolic
Definition: compile_RT.c:276
entity step_local_loopSlices(entity, entity)
Definition: compile_RT.c:499
statement generate_call_get_rank(entity)
Definition: compile_RT.c:161
bool step_compile(const char *)
Definition: compile.c:393
void comment2pragmafree(void *)
int comment2pragmalex(void)
void load_step_comm(void)
Definition: analyse.c:190
int step_lexerlineno
void * comment2pragmaalloc(yy_size_t)
void step_directives_save(void)
Definition: directives.c:108
void compile_regions(entity, list, bool, loop, list, set[4], statement, statement)
compile_regions.c
FILE * step_lexerget_out(void)
void add_omp_guard(statement *)
Definition: compile.c:62
void step_compile_analysed_module(const char *, string)
Definition: compile.c:288
bool step_parser(const char *)
Definition: parser.c:594
void comment2pragmapop_buffer_state(void)
statement build_call_STEP_AllToAll(entity, entity, bool, bool)
Definition: compile_RT.c:640
entity entity_from_user_name(string)
Definition: parser.c:67
statement build_call_STEP_flush(void)
Definition: compile_RT.c:758
FILE * comment2pragmain
bool step_analysed_module_p(const char *)
Definition: analyse.c:179
entity step_symbolic(string, entity)
Definition: compile_RT.c:348
FILE * step_lexerout
bool step_private_p(statement, entity)
Definition: directives.c:424
void get_step_directive_name(step_directive, string *)
Warning! Do not modify this file that is automatically generated!
Definition: directives.c:18
void step_lexerset_lineno(int)
void comment2pragmaset_lineno(int)
char * step_lexertext
int step_lexerlex(void)
step_directive step_directives_load(statement)
Definition: directives.c:116
int step_lexerget_leng(void)
void generate_call_flush(statement *)
Definition: compile_RT.c:85
statement build_call_STEP_set_sendregions(entity, expression, entity, bool, bool)
Definition: compile_RT.c:701
char * comment2pragmatext
void generate_call_construct_begin_construct_end(entity, step_directive, statement, statement)
Definition: compile_RT.c:60
statement call_STEP_subroutine(string, list, entity data)
Definition: compile_RT.c:857
entity step_type(entity data)
Definition: compile_RT.c:542
statement compile_omp(statement, step_directive)
compile.c
Definition: compile.c:32
entity step_parameter(string, entity, expression)
Definition: compile_RT.c:285
list step_directive_basic_workchunk_index(step_directive)
Definition: directives.c:320
void step_lexerfree(void *)
int step_lexerlex_destroy(void)
int comment2pragma_flex_debug
void insert_optional_pragma(int type)
Definition: parser.c:46
step_directive end_omp_construct(int type)
Definition: parser.c:248
void comment2pragmaset_in(FILE *)
FI: I do not understand why the type is duplicated at the set level.
Definition: set.c:59
The structure used to build lists in NewGen.
Definition: newgen_list.h:41