PIPS
phrase.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/phrase/phrase-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef phrase_header_included
7 #define phrase_header_included
8 /* phrase-local.h */
9 /*
10 
11  $Id: phrase-local.h 23065 2016-03-02 09:05:50Z coelho $
12 
13  Copyright 1989-2016 MINES ParisTech
14 
15  This file is part of PIPS.
16 
17  PIPS is free software: you can redistribute it and/or modify it
18  under the terms of the GNU General Public License as published by
19  the Free Software Foundation, either version 3 of the License, or
20  any later version.
21 
22  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
23  WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  FITNESS FOR A PARTICULAR PURPOSE.
25 
26  See the GNU General Public License for more details.
27 
28  You should have received a copy of the GNU General Public License
29  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
30 
31 */
32 
33 #ifndef __PHRASEC_LOCAL_H__
34 #define __PHRASEC_LOCAL_H__
35 
36 #include "dg.h"
39 
40 #include "graph.h"
41 #endif
42 /* cproto-generated files */
43 /* comEngine_optimization_function.c */
44 extern hash_table gLoopToOpt;
45 extern statement comEngine_opt_loop_interchange(statement /*stat*/, statement /*innerStat*/, entity /*newInd*/);
46 /* comEngine_HRE_distribute.c */
47 extern expression get_fifoExp_from_ref(reference /*curRef*/, expression /*buffExp*/, hash_table /*ht*/);
48 extern statement generate_fifo_stat2(reference /*curRef*/, bool /*bRead*/);
49 extern statement generate_ind_fifo_stat2(entity /*oldInd*/, entity /*newInd*/, bool /*bRead*/);
50 extern void generate_fifo_stats2(list /*lRef*/, list */*lReadStats*/, list */*lWriteStats*/);
51 extern statement HRE_distribute(statement /*stat*/, string /*new_module_name*/, const char */*module_name*/);
52 /* comEngine_generate_code.c */
54 extern bool gGenHRE;
55 extern list glToggleInitStats;
56 extern entity comEngine_make_new_scalar_variable(const char */*prefix*/, basic /*bas*/);
57 extern statement make_toggle_init_statement(entity /*toggleEnt*/);
58 extern statement make_toggle_inc_statement(entity /*toggleEnt*/, int /*val*/);
59 extern statement generate_code_function(statement /*stat*/, bool /*bCalledFromSeq*/);
61 /* phrase_remove_dependences.c */
62 extern bool phrase_remove_dependences(const char */*module_name*/);
63 /* comEngine_generate_HRECode.c */
65 extern expression get_fifo_from_ref(reference /*ref*/);
68 extern void replace_array_ref_with_fifos(list /*lRef*/, expression /*buffIndExp*/, entity /*ind*/, statement */*newStat*/);
69 extern statement generate_stat_from_ref_list_HRE(list /*lRef*/, statement /*stat*/);
70 extern list generate_stat_from_ref_list_HRE_list(list /*lRef*/, list /*lInStats*/);
71 extern void get_supportedRef_HRE(statement /*stat*/, list */*lSupportedRef*/, list */*lUnSupportedRef*/);
72 extern void process_replacement_HRE(list /*lRef*/, expression /*buffIndExp*/, statement */*stat*/);
73 extern list process_replacement_HRE_OutRef(list /*lRef*/, list /*lStats*/);
74 extern statement get_call_stat_HRE(statement /*stat*/);
75 extern list make_loop_lStats_HRE(statement /*stat*/, entity /*transferSize*/, statement /*innerStat*/, entity /*newOuterInd*/, list /*lSupportedRef*/, hash_table /*htOffset*/, expression /*bufferSizeExp*/);
77 extern list process_gLoopToSync_HRE(statement /*stat*/, list /*lInStats*/);
78 extern statement comEngine_generate_HRECode(statement /*externalized_code*/, string /*new_module_name*/, list /*l_in*/, list /*l_out*/, list /*l_params*/, list /*l_priv*/, const char */*module_name*/, int /*hreMemSize*/);
79 /* comEngine_generate_procCode.c */
80 extern bool has_call_stat_inside(statement /*stat*/);
81 extern statement make_step_inc_statement(int /*incNum*/);
82 extern statement make_loop_step_stat(statement /*stat*/, entity /*newOuterInd*/);
83 extern statement make_toggle_mmcd(entity /*ent*/);
84 extern statement make_init_newInd_stat(statement /*stat*/, entity /*newInd*/);
85 extern statement make_transStat(statement /*stat*/, entity /*newOuterInd*/, entity /*transferSize*/, expression /*bufferSizeExp*/);
86 extern void comEngine_replace_reference_in_stat(statement /*stat*/, reference /*ref*/, expression /*new*/);
87 extern statement make_exec_mmcd(void);
88 extern statement generate_stat_from_ref_list_proc(list /*lRef*/, list /*lToggleEnt*/, statement /*stat*/);
89 extern list generate_stat_from_ref_list_proc_list(list /*lRef*/, list /*lInStats*/);
90 extern void process_innerStat1_proc(statement /*stat*/, entity /*oldInd*/, entity /*newOuterInd*/, entity /*newInnerInd*/);
91 extern void get_supportedRef_proc(statement /*stat*/, hash_table /*htOffset*/, list */*lSupportedRef*/, list */*lUnSupportedRef*/);
93 extern list make_loop_lStats_proc(statement /*stat*/, entity /*transferSize*/, statement /*innerStat*/, entity /*newOuterInd*/, list /*lSupportedRef*/, hash_table /*htOffset*/, expression /*bufferSizeExp*/);
94 extern list add_index_out_effect_proc(loop /*curLoop*/, list /*lStats*/);
96 extern list process_gLoopToSync_proc(statement /*stat*/, list /*lInStats*/);
97 extern void create_realFifo_proc(statement /*stat*/, list /*lRef*/);
98 extern statement comEngine_generate_procCode(statement /*externalized_code*/, list /*l_in*/, list /*l_out*/);
99 /* comEngine_feasability.c */
101 extern bool code_has_write_eff_ref_p(reference /*ref*/, statement /*stat*/);
103 extern bool comEngine_feasability(statement /*externalized_code*/, graph /*dg*/);
104 /* comEngine_distribute.c */
105 extern hash_table gLoopToRef;
106 extern hash_table gStatToRef;
107 extern hash_table gRefToEff;
108 extern hash_table gLoopToSync;
111 extern entity gHREMemory;
113 extern int gBufferSize;
114 extern hash_table gRefToFifo;
119 extern hash_table gIndToNum;
120 extern hash_table gRefToInd;
123 extern hash_table gRefToToggle;
124 extern hash_table gToggleToInc;
125 extern hash_table gIsNewLoop;
126 extern void create_HRE_module(const char */*new_module_name*/, const char */*module_name*/, statement /*stat*/, entity /*new_fun*/);
127 extern void comEngine_distribute(const char */*module_name*/, statement /*module_stat*/, entity /*module*/);
128 extern bool phrase_comEngine_distributor(const char */*module_name*/);
129 /* phrase_distributor.c */
130 extern string get_function_name_by_searching_tag(statement /*stat*/, const char */*tag*/);
132 extern entity create_private_variable_for_new_module(entity /*a_variable*/, const char */*new_name*/, const char */*new_module_name*/, entity /*module*/);
133 extern void add_parameter_variable_to_module(reference /*ref*/, entity /*module*/, statement /*stat*/, string /*new_module_name*/, int /*param_nb*/);
134 extern void add_private_variable_to_module(reference /*ref*/, entity /*module*/, statement /*stat*/, string /*new_module_name*/);
135 extern bool phrase_distributor_init(const char */*module_name*/);
136 extern bool phrase_distributor(const char */*module_name*/);
137 /* phrase_distributor_control_code.c */
138 extern entity create_parameter_for_new_module(variable /*var*/, const char */*parameter_name*/, const char */*module_name*/, entity /*module*/, int /*param_nb*/);
139 extern entity create_integer_parameter_for_new_module(const char */*parameter_name*/, const char */*module_name*/, entity /*module*/, int /*param_nb*/);
140 extern void store_new_module(const char */*module_name*/, entity /*module*/, statement /*module_statement*/);
141 extern entity create_new_common_variable(string /*name*/, entity /*module*/, entity /*common*/, variable /*var*/);
142 extern entity create_new_scalar_common_variable(string /*name*/, entity /*module*/, entity /*common*/, basic /*b*/);
143 extern entity create_new_integer_scalar_common_variable(string /*name*/, entity /*module*/, entity /*common*/);
144 extern void declare_common_variables_in_module(entity /*common*/, entity /*module*/);
145 extern string get_controlized_statement_comment(entity /*function*/);
146 extern string get_in_param_id_name(entity variable, entity /*function*/);
147 extern string get_out_param_id_name(entity variable, entity /*function*/);
148 extern string get_function_id_name(entity /*function*/);
149 extern string get_common_param_name(entity variable, entity /*function*/);
150 extern string get_send_parameter_module_name(variable /*var*/);
151 extern string get_receive_parameter_module_name(variable /*var*/);
152 extern entity entity_in_module(const char */*name*/, entity /*module*/);
153 extern bool phrase_distributor_control_code(const char */*module_name*/);
154 /* phrase_distributor_communication.c */
155 extern entity make_start_ru_module(hash_table /*ht_params*/, statement */*module_statement*/, int /*number_of_deployment_units*/, entity /*global_common*/, list /*l_commons*/);
156 extern entity make_wait_ru_module(statement */*module_statement*/, int /*number_of_deployment_units*/, entity /*global_common*/, list /*l_commons*/);
157 extern string get_dynamic_variable_name(entity /*dynamic_variable*/);
158 extern string get_ref_var_param_name(entity /*reference_param*/);
159 extern string get_send_param_module_name(entity /*function*/, effect /*reg*/);
160 extern string get_receive_param_module_name(entity /*function*/, effect /*reg*/);
161 extern list make_send_scalar_params_modules(hash_table /*ht_in_communications*/, int /*number_of_deployment_units*/, entity /*global_common*/, list /*l_commons*/);
162 extern list make_receive_scalar_params_modules(hash_table /*ht_out_communications*/, int /*number_of_deployment_units*/, entity /*global_common*/, list /*l_commons*/);
163 extern void compute_region_variables(effect /*reg*/, list */*l_reg_params*/, list */*l_reg_variables*/);
164 extern entity create_private_integer_variable_for_new_module(string /*new_name*/, const char */*new_module_name*/, entity /*module*/);
165 extern list make_send_array_params_modules(entity /*function*/, list /*l_regions*/, entity /*global_common*/, entity /*externalized_fonction_common*/, int /*number_of_deployment_units*/);
166 extern list make_receive_array_params_modules(entity /*function*/, list /*l_regions*/, entity /*global_common*/, entity /*externalized_fonction_common*/, int /*number_of_deployment_units*/);
167 /* distribution_context.c */
168 extern bool compute_distribution_context(list /*l_stats*/, statement /*module_stat*/, entity /*module*/, hash_table */*ht_stats*/, hash_table */*ht_params*/, hash_table */*ht_private*/, hash_table */*ht_in_regions*/, hash_table */*ht_out_regions*/);
169 extern bool compute_distribution_controlization_context(list /*l_calls*/, statement /*module_stat*/, entity /*module*/, hash_table */*ht_calls*/, hash_table */*ht_params*/, hash_table */*ht_private*/, hash_table */*ht_in_regions*/, hash_table */*ht_out_regions*/);
170 extern list compute_regions_union(list /*l_in*/, list /*l_out*/);
171 extern bool internal_compute_distribution_context(statement /*externalized_code*/, hash_table */*ht_params*/, hash_table */*ht_private*/, hash_table */*ht_in_regions*/, hash_table */*ht_out_regions*/, void */*key_value*/);
172 extern string get_externalizable_function_name(statement /*stat*/);
173 extern string get_externalized_function_name(statement /*stat*/);
174 extern string get_externalized_and_analyzed_function_name(statement /*stat*/, int */*stats_nb*/);
175 extern string variable_to_string(variable /*var*/);
176 extern void register_scalar_communications(hash_table */*ht_communications*/, entity /*function*/, list /*l_regions*/);
177 /* fsm_generation.c */
178 extern bool fsm_generation(const char */*module_name*/);
179 /* print_code_smalltalk.c */
180 extern bool print_code_smalltalk(const char */*module_name*/);
181 /* fsm_merge_states.c */
182 extern bool fsm_merge_states(const char */*module_name*/);
183 /* fsm_split_state.c */
184 extern bool fsm_split_state(const char */*module_name*/);
185 /* full_fsm_generation.c */
186 extern bool full_fsm_generation(const char */*module_name*/);
187 /* loop_spaghettify.c */
188 extern statement spaghettify_loop(statement /*stat*/, const char */*module_name*/);
189 /* whileloop_spaghettify.c */
190 extern statement spaghettify_whileloop(statement /*stat*/, const char */*module_name*/);
191 /* forloop_spaghettify.c */
192 extern statement spaghettify_forloop(statement /*stat*/, const char */*module_name*/);
193 /* test_spaghettify.c */
194 extern statement spaghettify_test(statement /*stat*/, const char */*module_name*/);
195 /* spaghettify.c */
196 extern statement spaghettify_statement(statement /*stat*/, const char */*module_name*/);
197 extern bool spaghettify(const char */*module_name*/);
198 /* full_spaghettify.c */
199 extern bool full_spaghettify(const char */*module_name*/);
200 /* fsm_tools.c */
201 extern expression make_expression_with_state_variable(entity /*state_variable*/, int value, string /*intrinsic_name*/);
202 extern entity create_state_variable(const char */*module_name*/, int /*name_identifier*/);
203 extern statement make_state_variable_assignement_statement(statement /*stat*/, entity /*state_variable*/, int /*assignement_value*/);
206 extern statement make_reset_state_variable_statement(statement /*stat*/, entity /*state_variable*/);
207 extern statement make_transition_statement(control /*current_node*/, statement /*root_statement*/, entity /*state_variable*/, const char */*module_name*/);
208 extern statement make_fsm_transitions_statement(statement /*stat*/, entity /*state_variable*/, const char */*module_name*/);
209 extern statement make_fsm_from_statement(statement /*stat*/, entity /*state_variable*/, const char */*module_name*/);
210 extern statement fsmize_statement(statement /*stat*/, entity /*state_variable*/, const char */*module_name*/);
211 /* phrase_tools.c */
212 extern string statement_type_as_string(statement /*stat*/);
213 extern void debug_statement(const char */*comments*/, statement /*stat*/, int /*debug_level*/);
214 extern void debug_control(const char */*comments*/, control /*a_control*/, int /*debug_level*/);
215 extern void debug_unstructured(unstructured /*an_unstructured*/, int /*debug_level*/);
216 extern void short_debug_unstructured(unstructured /*an_unstructured*/, int /*debug_level*/);
217 extern entity clone_variable_with_new_name(entity /*a_variable*/, const char */*new_name*/, const char */*module_name*/);
218 extern entity make_variable_from_name_and_entity(entity /*cloned_variable*/, const char */*base_name*/, statement /*stat*/, const char */*module_name*/);
219 extern statement make_binary_call_statement(const char */*operator_name*/, expression /*expression1*/, expression /*expression2*/, statement /*stat*/);
220 extern statement make_assignement_statement(entity /*a_variable*/, expression /*an_expression*/, statement /*stat*/);
221 extern int beautify_ordering(int /*an_ordering*/);
222 extern void clean_statement_from_tags(const char */*comment_portion*/, statement /*stat*/);
223 extern list get_statements_with_comments_containing(const char */*comment_portion*/, statement /*stat*/);
224 extern bool statement_is_contained_in_a_sequence_p(statement /*root_statement*/, statement /*searched_stat*/);
225 extern statement sequence_statement_containing(statement /*root_statement*/, statement /*searched_stat*/);
226 extern void replace_in_sequence_statement_with(statement /*old_stat*/, statement /*new_stat*/, statement /*root_stat*/);
227 extern list references_for_regions(list /*l_regions*/);
228 #endif /* phrase_header_included */
entity make_start_ru_module(hash_table, statement *, int, entity, list)
phrase_distributor_communication.c
hash_table gIsNewLoop
statement spaghettify_test(statement, const char *)
test_spaghettify.c
statement HRE_distribute(statement, string, const char *)
void create_realFifo_proc(statement, list)
entity entity_in_module(const char *, entity)
Return entity named name in specified module.
entity create_parameter_for_new_module(variable, const char *, const char *, entity, int)
phrase_distributor_control_code.c
list comEngine_expression_to_reference_list(expression, list)
comEngine_feasability.c
bool fsm_split_state(const char *)
fsm_split_state.c
entity gHREMemory
statement comEngine_opt_loop_interchange(statement, statement, entity)
expression get_fifoExp_from_ref(reference, expression, hash_table)
comEngine_HRE_distribute.c
void short_debug_unstructured(unstructured, int)
DEBUG FUNCTION: print debugging informations for an unstructured an_unstructured (short version)
Definition: phrase_tools.c:213
hash_table gLoopToToggleEnt
list reference_indices_entity_list(reference)
bool has_call_stat_inside(statement)
comEngine_generate_procCode.c
hash_table gLoopToSupRef
void get_supportedRef_HRE(statement, list *, list *)
void debug_statement(const char *, statement, int)
DEBUG FUNCTION: print debugging informations for a statement stat.
Definition: phrase_tools.c:111
void process_replacement_HRE(list, expression, statement *)
statement make_fsm_from_statement(statement, entity, const char *)
This function build and return a statement representing the FSM code equivalent to the given unstruct...
Definition: fsm_tools.c:447
hash_table gStatToRef
hash_table gRefToFifoOff
bool print_code_smalltalk(const char *)
print_code_smalltalk.c
expression gBufferSizeEnt
bool phrase_comEngine_distributor(const char *)
void add_parameter_variable_to_module(reference, entity, statement, string, int)
Declare in the newly created module a new variable (which will be a parameter of the module),...
statement generate_code_function(statement, bool)
list glToggleInitStats
list compute_regions_union(list, list)
Compute union of exact regions.
string get_dynamic_variable_name(entity)
Return DYN_VAR_PARAM_NAME name for a dynamic variable.
hash_table gLoopToRef
comEngine_distribute.c
statement make_reset_state_variable_statement(statement, entity)
This function build and return a statement representing the initial assigment of the state_variable,...
Definition: fsm_tools.c:194
void replace_array_ref_with_fifos(list, expression, entity, statement *)
string get_controlized_statement_comment(entity)
statement spaghettify_forloop(statement, const char *)
forloop_spaghettify.c
list make_loop_lStats_HRE(statement, entity, statement, entity, list, hash_table, expression)
string variable_to_string(variable)
Return a unique (regarding variable_equal_p(var1,var2)) string representation of a variable var.
hash_table gRefToFifo
statement make_step_inc_statement(int)
bool compute_distribution_controlization_context(list, statement, entity, hash_table *, hash_table *, hash_table *, hash_table *, hash_table *)
This function is called during PHRASE distribution controlization.
statement make_transStat(statement, entity, entity, expression)
hash_table gLoopToSync
list add_index_out_effect_proc(loop, list)
entity get_HRE_buff_ent_from_ref(reference)
list identify_analyzed_statements_to_distribute(statement)
This function return a list of statements that were previously marked for externalization during phas...
hash_table gRefToInd
string get_externalized_function_name(statement)
Return the identified function name of the externalized portion of code by searching comment matching...
string get_send_parameter_module_name(variable)
bool fsm_merge_states(const char *)
fsm_merge_states.c
statement generate_stat_from_ref_list_proc(list, list, statement)
hash_table gToggleToInc
string get_common_param_name(entity variable, entity)
hash_table gRefToHREFifo
list get_statements_with_comments_containing(const char *, statement)
Definition: phrase_tools.c:481
hash_table gRefToBuffSize
string statement_type_as_string(statement)
phrase_tools.c
Definition: phrase_tools.c:65
statement generate_code_test_proc(statement)
statement comEngine_generate_procCode(statement, list, list)
statement spaghettify_statement(statement, const char *)
spaghettify.c
Definition: spaghettify.c:85
void debug_control(const char *, control, int)
DEBUG FUNCTION: print debugging informations for a control a_control.
Definition: phrase_tools.c:134
string get_out_param_id_name(entity variable, entity)
statement make_transition_statement(control, statement, entity, const char *)
This function build a transition statement (a TEST statement) corresponding to the current control cu...
Definition: fsm_tools.c:212
list make_send_array_params_modules(entity, list, entity, entity, int)
Make all SEND_PARAM communication modules for non-scalar regions for a given function.
string get_externalizable_function_name(statement)
Return the identified function name of the externalized portion of code by searching comment matching...
hash_table gLoopToOuterInd
comEngine_generate_code.c
list make_receive_array_params_modules(entity, list, entity, entity, int)
Make all RECEIVE_PARAM communication modules for non-scalar regions for a given function.
statement make_fsm_transitions_statement(statement, entity, const char *)
This function build and return a statement representing the transitions computation in the FSM,...
Definition: fsm_tools.c:400
string get_receive_parameter_module_name(variable)
bool full_fsm_generation(const char *)
full_fsm_generation.c
entity create_new_integer_scalar_common_variable(string, entity, entity)
Creates and declares a new integer scalar variable for a newly created common.
hash_table gRefToHREVar
comEngine_generate_HRECode.c
void generate_fifo_stats2(list, list *, list *)
list make_send_scalar_params_modules(hash_table, int, entity, list)
Build and return list of modules used for INPUT communications (SEND_PARAMETERS......
hash_table gStatToHtOffset
int exit_state_variable_value_for_unstructured(statement)
Return the state variable value corresponding to the exit in a unstructured statement NB: always retu...
Definition: fsm_tools.c:180
statement sequence_statement_containing(statement, statement)
Definition: phrase_tools.c:536
bool fsm_generation(const char *)
fsm_generation.c
void debug_unstructured(unstructured, int)
DEBUG FUNCTION: print debugging informations for an unstructured an_unstructured.
Definition: phrase_tools.c:146
dg_vertex_label vertex_label
Definition: phrase.h:38
statement spaghettify_loop(statement, const char *)
loop_spaghettify.c
list make_receive_scalar_params_modules(hash_table, int, entity, list)
Build and return list of modules used for OUTPUT communications (RECEIVE_PARAMETERS....
entity create_integer_parameter_for_new_module(const char *, const char *, entity, int)
Create new integer variable parameter for a newly created module.
void clean_statement_from_tags(const char *, statement)
Definition: phrase_tools.c:414
bool phrase_distributor_init(const char *)
bool statement_is_contained_in_a_sequence_p(statement, statement)
Definition: phrase_tools.c:507
bool internal_compute_distribution_context(statement, hash_table *, hash_table *, hash_table *, hash_table *, void *)
Internally used to compute distribution context for statement externalized_code.
statement generate_stat_from_ref_list_HRE(list, statement)
string get_send_param_module_name(entity, effect)
entity create_private_integer_variable_for_new_module(string, const char *, entity)
Creates an integer variable in specified module.
statement make_assignement_statement(entity, expression, statement)
Build and return new statement which is a assignement of variable a_variable with expression an_expre...
Definition: phrase_tools.c:392
int entry_state_variable_value_for_unstructured(statement)
Return the state variable value corresponding to the entry in a unstructured statement.
Definition: fsm_tools.c:162
void comEngine_distribute(const char *, statement, entity)
entity create_state_variable(const char *, int)
This function creates (and add declaration) state variable.
Definition: fsm_tools.c:84
statement make_init_newInd_stat(statement, entity)
void store_new_module(const char *, entity, statement)
Store (PIPDBM) newly created module module with module_statement as USER_FILE by saving pretty printi...
void compute_region_variables(effect, list *, list *)
list process_gLoopToSync_proc(statement, list)
expression get_fifo_from_ref(reference)
int beautify_ordering(int)
Special function made for Ronan Keryell who likes a lot when a integer number is coded on 3 bits :-)
Definition: phrase_tools.c:407
statement make_loop_step_stat(statement, entity)
statement make_wait_step_statement(void)
statement make_exec_mmcd(void)
bool phrase_remove_dependences(const char *)
phrase_remove_dependences.c
entity clone_variable_with_new_name(entity, const char *, const char *)
This function build and return new variable from a variable a_variable, with name new_name.
Definition: phrase_tools.c:269
entity make_variable_from_name_and_entity(entity, const char *, statement, const char *)
Build and return new entity obtained by cloning variable cloned_variable, with a name obtained by the...
Definition: phrase_tools.c:325
void process_innerStat1_proc(statement, entity, entity, entity)
bool spaghettify(const char *)
Definition: spaghettify.c:173
statement make_toggle_init_statement(entity)
string get_ref_var_param_name(entity)
Return REF_VAR_PARAM_NAME name for a dynamic variable.
dg_arc_label arc_label
Definition: phrase.h:37
expression make_expression_with_state_variable(entity, int value, string)
fsm_tools.c
Definition: fsm_tools.c:66
void declare_common_variables_in_module(entity, entity)
Creates all the things that need to be created in order to declare common in module (all the variable...
entity comEngine_make_new_scalar_variable(const char *, basic)
string get_externalized_and_analyzed_function_name(statement, int *)
Return the identified function name of the externalized portion of code by searching comment matching...
entity create_new_common_variable(string, entity, entity, variable)
Creates and declares a new variable for a newly created common.
bool phrase_distributor_control_code(const char *)
void replace_in_sequence_statement_with(statement, statement, statement)
Replace statement old_stat by statement new_stat, asserting that this statement is contained in a seq...
Definition: phrase_tools.c:554
string get_function_id_name(entity)
statement spaghettify_whileloop(statement, const char *)
whileloop_spaghettify.c
list process_gLoopToSync_HRE(statement, list)
bool full_spaghettify(const char *)
full_spaghettify.c
string get_function_name_by_searching_tag(statement, const char *)
phrase_distributor.c
entity make_wait_ru_module(statement *, int, entity, list)
list generate_stat_from_ref_list_HRE_list(list, list)
statement make_toggle_mmcd(entity)
bool comEngine_feasability(statement, graph)
statement fsmize_statement(statement, entity, const char *)
This function is recursively called during FSMization.
Definition: fsm_tools.c:536
statement make_binary_call_statement(const char *, expression, expression, statement)
Build and return new statement which is a binary call with the 2 expressions expression1 and expressi...
Definition: phrase_tools.c:354
list process_replacement_HRE_OutRef(list, list)
int gBufferSize
statement get_call_stat_proc(statement)
hash_table gRefToToggle
list generate_stat_from_ref_list_proc_list(list, list)
statement make_state_variable_assignement_statement(statement, entity, int)
This function build and return a statement representing the initial assigment of the state_variable,...
Definition: fsm_tools.c:129
hash_table gIndToNum
void comEngine_replace_reference_in_stat(statement, reference, expression)
void add_private_variable_to_module(reference, entity, statement, string)
Declare in the newly created module a new variable (which will be a private to the module),...
statement comEngine_generate_code(statement)
hash_table gEntToHREFifo
entity create_new_scalar_common_variable(string, entity, entity, basic)
Creates and declares a new scalar variable for a newly created common.
hash_table gRefToEff
string get_in_param_id_name(entity variable, entity)
statement generate_fifo_stat2(reference, bool)
entity create_private_variable_for_new_module(entity, const char *, const char *, entity)
Creates a private variable in specified module.
void register_scalar_communications(hash_table *, entity, list)
Build an HASHTABLE where keys are VARIABLE and values are HASHTABLE where keys are modules or externa...
statement comEngine_generate_HRECode(statement, string, list, list, list, list, const char *, int)
bool gGenHRE
list make_loop_lStats_proc(statement, entity, statement, entity, list, hash_table, expression)
void create_HRE_module(const char *, const char *, statement, entity)
bool code_has_write_eff_ref_p(reference, statement)
statement generate_code_test_HRE(statement)
string get_receive_param_module_name(entity, effect)
bool compute_distribution_context(list, statement, entity, hash_table *, hash_table *, hash_table *, hash_table *, hash_table *)
distribution_context.c
bool phrase_distributor(const char *)
hash_table gLoopToOpt
cproto-generated files
statement generate_ind_fifo_stat2(entity, entity, bool)
hash_table gLoopToUnSupRef
void get_supportedRef_proc(statement, hash_table, list *, list *)
statement get_call_stat_HRE(statement)
statement make_toggle_inc_statement(entity, int)
list references_for_regions(list)
Return a list of references corresponding to a list of regions.
Definition: phrase_tools.c:603
The structure used to build lists in NewGen.
Definition: newgen_list.h:41