PIPS
transformations.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/transformations/transformations-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef transformations_header_included
7 #define transformations_header_included
8 /* transformations-local.h */
9 /*
10 
11  $Id: transformations-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 
34 /* What is returned by dead_test_filter : */
36 typedef enum dead_test dead_test;
37 /* cproto-generated files */
38 /* util.c */
39 extern void statement_clean_declarations(statement /*s*/);
40 extern void entity_clean_declarations(entity /*module*/, statement /*s*/);
41 extern statement find_loop_from_label(statement /*s*/, entity /*label*/);
42 extern bool clean_labels(const string /*mod_name*/);
43 extern int get_processor_number(void);
44 extern int get_vector_register_length(void);
45 extern int get_vector_register_number(void);
46 /* loop_unroll.c */
47 extern void do_loop_unroll(statement /*loop_statement*/, int /*rate*/, void (* /*statement_post_processor*/)(statement));
48 extern void loop_unroll(statement /*loop_statement*/, int /*rate*/);
49 extern bool loop_fully_unrollable_p(loop /*l*/);
50 extern void full_loop_unroll(statement /*loop_statement*/);
51 extern bool unroll(const string /*mod_name*/);
52 extern bool full_unroll(const string /*mod_name*/);
53 extern bool full_unroll_pragma(const string /*mod_name*/);
54 /* prettyprintcray.c */
55 extern bool print_parallelizedcray_code(char */*mod_name*/);
56 /* strip_mine.c */
57 extern statement loop_strip_mine(statement /*loop_statement*/, int /*chunk_size*/, int /*chunk_number*/);
58 extern bool strip_mine(const string /*mod_name*/);
59 /* interactive_loop_transformation.c */
60 extern entity selected_label;
61 extern bool selected_loop_p(statement /*s*/);
62 extern bool interactive_loop_transformation(const char */*module_name*/, statement (* /*loop_transformation*/)(list, bool (*)(statement)));
63 extern bool print_loops(const string /*module_name*/);
64 extern bool flag_loops(const string /*module_name*/);
65 extern char *loop_pragma(const char */*module_name*/, const char */*parent_loop*/);
66 extern char *module_loops(const char */*module_name*/, const char */*parent_loop*/);
67 /* loop_normalize.c */
69 extern bool loop_normalize(const string /*mod_name*/);
70 extern bool linearize_loop_range(const char */*module_name*/);
71 /* interchange.c */
72 extern statement interchange_inner_outermost_loops(list /*lls*/, bool (* /*unused*/)(statement));
73 extern statement interchange_two_loops(list /*lls*/, int /*n1*/, int /*n2*/);
74 extern bool loop_interchange(const string /*module_name*/);
75 /* nest_parallelization.c */
76 extern bool nest_parallelization(const char */*module_name*/);
77 /* coarse_grain_parallelization.c */
78 extern bool coarse_grain_parallelization(const string /*module_name*/);
79 extern bool coarse_grain_parallelization_with_reduction(const string /*module_name*/);
80 /* dead_code_elimination.c */
81 extern bool dead_code_elimination_on_module(char */*module_name*/, bool /*use_out_regions*/);
82 extern bool dead_code_elimination(char */*module_name*/);
83 extern bool dead_code_elimination_with_out_regions(char */*module_name*/);
84 extern bool use_def_elimination(char */*module_name*/);
85 /* trivial_test_elimination.c */
86 extern bool suppress_trivial_test(const string /*mod_name*/);
87 /* privatize.c */
88 extern bool privatize_module(const string /*mod_name*/);
89 extern bool privatize_module_even_globals(const string /*mod_name*/);
90 extern bool localize_declaration(const string /*mod_name*/);
91 /* array_privatization.c */
92 extern bool array_privatizer(const string /*module_name*/);
93 extern bool array_section_privatizer(const string /*module_name*/);
94 extern bool print_code_privatized_regions(const string /*module_name*/);
95 extern bool declarations_privatizer(const string /*mod_name*/);
96 /* standardize_structure.c */
97 extern bool stf(const string /*mod_name*/);
98 /* simplify_control.c */
99 extern bool simplify_control(const string /*mod_name*/);
100 extern bool simplify_control_directly(const string /*mod_name*/);
101 extern bool suppress_dead_code(const string /*mod_name*/);
102 extern bool remove_useless_label(const string /*module_name*/);
103 /* declarations.c */
104 extern void module_clean_declarations(entity /*module*/, statement /*module_statement*/);
105 extern bool clean_declarations(const string /*module_name*/);
106 /* dynamic_declarations.c */
107 extern bool clean_unused_dynamic_variables(string /*module*/);
108 /* transformation_test.c */
109 extern bool transformation_test(const string /*mod_name*/);
110 /* freeze_variables.c */
111 extern bool freeze_variables(char */*mod_name*/);
112 /* array_resizing_bottom_up.c */
113 extern bool array_resizing_bottom_up(char */*mod_name*/);
114 extern bool array_resizing_full_bottom_up(char */*mod_name*/);
115 /* array_resizing_top_down.c */
116 extern bool array_resizing_top_down(const char */*module_name*/);
117 /* array_resizing_statistic.c */
118 extern bool array_resizing_statistic(const string /*module_name*/);
119 /* partial_redundancy_elimination.c */
120 extern bool partial_redundancy_elimination(const string /*module_name*/);
121 /* variable_expansion.c */
122 extern bool variable_expansion(const char */*module_name*/);
123 extern bool reduction_variable_expansion(const char */*module_name*/);
124 /* internalize_parallel_code.c */
125 extern bool internalize_parallel_code(const string /*mod_name*/);
126 /* index_set_splitting.c */
127 extern bool index_set_splitting(const string /*module_name*/);
128 extern bool force_loop_fusion(const string /*module_name*/);
129 /* for_loop_recovering.c */
130 extern bool recover_for_loop(const string /*module_name*/);
131 /* scalarization.c */
132 extern bool scalarization(const string /*module_name*/);
133 extern bool constant_array_scalarization(const string /*module_name*/);
134 extern bool quick_scalarization(const string /*module_name*/);
135 /* flatten_code.c */
136 extern bool statement_flatten_declarations(entity /*module*/, statement /*s*/);
137 extern bool flatten_code(const string /*module_name*/);
138 extern void statement_split_initializations(statement /*s*/);
139 extern bool split_initializations(const char */*module_name*/);
140 extern void split_update_call(call /*c*/);
141 extern bool split_update_operator(const char */*module_name*/);
142 /* induction_substitution.c */
143 extern bool induction_substitution(const string /*module_name*/);
144 /* strength_reduction.c */
145 extern bool strength_reduction(const string /*module_name*/);
146 /* loop_fusion.c */
147 extern bool loop_fusion(char */*module_name*/);
148 extern bool loop_fusion_with_regions(char */*module_name*/);
149 /* set_return_type.c */
150 extern bool set_return_type_as_typedef(const string /*mod_name*/);
151 /* cast_at_call_sites.c */
152 extern bool cast_at_call_sites(const string /*mod_name*/);
153 /* manage_parallel_loops.c */
154 extern bool limit_nested_parallelism(const string /*module_name*/);
155 extern bool limit_parallelism_using_complexity(const string /*module_name*/);
156 /* registers.c */
157 extern bool force_register_declarations(const char */*module_name*/);
158 /* identity_elimination.c */
159 extern bool identity_elimination(const char */*module_name*/);
160 extern bool identity_elimination_with_points_to(const char */*module_name*/);
161 /* loop_bound_minimization.c */
163 extern bool loop_bound_minimization_with_out_regions(const char */*module_name*/);
164 /* cprettyprinter.c */
165 extern bool print_interface(const char */*module_name*/);
166 extern bool print_crough(const char */*module_name*/);
167 extern bool print_c_code(const char */*module_name*/);
168 /* initialized_vla.c */
169 extern bool check_initialize_vla_with_preconditions(const string /*module_name*/);
170 extern bool check_initialize_vla_with_effects(const string /*module_name*/);
171 extern bool check_initialize_vla_with_regions(const string /*module_name*/);
172 extern bool initialize_vla_with_preconditions(const char */*module_name*/);
173 extern bool initialize_vla_with_effects(const char */*module_name*/);
174 extern bool initialize_vla_with_regions(const char */*module_name*/);
175 #endif /* transformations_header_included */
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
dead_test
What is returned by dead_test_filter :
bool strength_reduction(const string)
strength_reduction.c
entity selected_label
interactive_loop_transformation.c
bool localize_declaration(const string)
bool array_section_privatizer(const string)
bool interactive_loop_transformation(const char *, statement(*)(list, bool(*)(statement)))
bool set_return_type_as_typedef(const string)
set_return_type.c
bool loop_bound_minimization_with_out_regions(const char *)
bool loop_bound_minimization_with_out_regions_on_statement(statement)
loop_bound_minimization.c
bool declarations_privatizer(const string)
statement loop_strip_mine(statement, int, int)
strip_mine.c
Definition: strip_mine.c:64
bool strip_mine(const string)
Top-level function.
Definition: strip_mine.c:233
void loop_normalize_statement(statement)
loop_normalize.c
bool remove_useless_label(const string)
void full_loop_unroll(statement)
get rid of the loop by body replication;
Definition: loop_unroll.c:788
bool array_resizing_bottom_up(char *)
array_resizing_bottom_up.c
bool array_privatizer(const string)
array_privatization.c
bool induction_substitution(const string)
induction_substitution.c
bool print_loops(const string)
bool flag_loops(const string)
put a label on each doloop without label
bool freeze_variables(char *)
freeze_variables.c
bool use_def_elimination(char *)
bool index_set_splitting(const string)
index_set_splitting.c
bool selected_loop_p(statement)
bool dead_code_elimination_on_module(char *, bool)
dead_code_elimination.c
bool initialize_vla_with_effects(const char *)
bool force_register_declarations(const char *)
registers.c
bool privatize_module(const string)
privatize.c
bool limit_parallelism_using_complexity(const string)
void statement_clean_declarations(statement)
cproto-generated files
Definition: util.c:164
bool array_resizing_statistic(const string)
array_resizing_statistic.c
bool simplify_control(const string)
simplify_control.c
dead_test
Warning! Do not modify this file that is automatically generated!
@ else_is_dead
@ then_is_dead
@ nothing_about_test
void statement_split_initializations(statement)
Recurse through the statements of s and split local declarations.
Definition: flatten_code.c:733
bool identity_elimination_with_points_to(const char *)
statement find_loop_from_label(statement, entity)
Definition: util.c:218
bool initialize_vla_with_regions(const char *)
bool check_initialize_vla_with_regions(const string)
statement interchange_two_loops(list, int, int)
bool clean_declarations(const string)
A phase to remove the declaration of useless variables.
Definition: declarations.c:155
bool loop_normalize(const string)
char * module_loops(const char *, const char *)
gather the list of enclosing loops expect flag_loops has been called before
bool linearize_loop_range(const char *)
bool identity_elimination(const char *)
identity_elimination.c
bool quick_scalarization(const string)
bool coarse_grain_parallelization_with_reduction(const string)
bool clean_labels(const string)
Definition: util.c:238
bool print_c_code(const char *)
C indentation thru indent.
bool print_interface(const char *)
cprettyprinter.c
bool limit_nested_parallelism(const string)
manage_parallel_loops.c
bool reduction_variable_expansion(const char *)
void do_loop_unroll(statement, int, void(*)(statement))
loop_unroll.c
Definition: loop_unroll.c:714
bool unroll(const string)
Top-level functions.
Definition: loop_unroll.c:960
bool full_unroll(const string)
Definition: loop_unroll.c:1077
bool suppress_trivial_test(const string)
trivial_test_elimination.c
bool dead_code_elimination(char *)
bool stf(const string)
standardize_structure.c
bool flatten_code(const string)
Pipsmake 'flatten_code' phase.
Definition: flatten_code.c:648
bool loop_fusion_with_regions(char *)
int get_vector_register_length(void)
Definition: util.c:266
bool dead_code_elimination_with_out_regions(char *)
void module_clean_declarations(entity, statement)
declarations.c
Definition: declarations.c:140
bool cast_at_call_sites(const string)
cast_at_call_sites.c
bool nest_parallelization(const char *)
nest_parallelization.c
bool clean_unused_dynamic_variables(string)
dynamic_declarations.c
bool check_initialize_vla_with_preconditions(const string)
initialized_vla.c
bool loop_fully_unrollable_p(loop)
Definition: loop_unroll.c:753
bool print_code_privatized_regions(const string)
void split_update_call(call)
Definition: flatten_code.c:772
bool privatize_module_even_globals(const string)
bool force_loop_fusion(const string)
bool partial_redundancy_elimination(const string)
partial_redundancy_elimination.c
bool simplify_control_directly(const string)
bool statement_flatten_declarations(entity, statement)
flatten_code.c
Definition: flatten_code.c:509
bool print_crough(const char *)
bool initialize_vla_with_preconditions(const char *)
bool loop_interchange(const string)
bool full_unroll_pragma(const string)
Definition: loop_unroll.c:1170
char * loop_pragma(const char *, const char *)
bool loop_fusion(char *)
loop_fusion.c
bool scalarization(const string)
scalarization.c
int get_vector_register_number(void)
Definition: util.c:271
int get_processor_number(void)
Definition: util.c:261
bool array_resizing_full_bottom_up(char *)
statement interchange_inner_outermost_loops(list, bool(*)(statement))
interchange.c
bool internalize_parallel_code(const string)
internalize_parallel_code.c
bool constant_array_scalarization(const string)
bool recover_for_loop(const string)
for_loop_recovering.c
bool variable_expansion(const char *)
variable_expansion.c
bool split_initializations(const char *)
Pipsmake 'split_initializations' phase.
Definition: flatten_code.c:742
bool coarse_grain_parallelization(const string)
coarse_grain_parallelization.c
void loop_unroll(statement, int)
fallbacks on do_loop_unroll without statement post processing
Definition: loop_unroll.c:748
bool suppress_dead_code(const string)
bool array_resizing_top_down(const char *)
array_resizing_top_down.c
bool check_initialize_vla_with_effects(const string)
bool transformation_test(const string)
transformation_test.c
bool print_parallelizedcray_code(char *)
prettyprintcray.c
bool split_update_operator(const char *)
Definition: flatten_code.c:834
void entity_clean_declarations(entity, statement)
remove all entities declared in module but never used in s
Definition: util.c:177