PIPS
hyperplane.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/hyperplane/hyperplane-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef hyperplane_header_included
7 #define hyperplane_header_included
8 /* hyperplane-local.h */
9 /*
10 
11  $Id: hyperplane-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 /* package hyperplane */
33 
34 #define HYPERPLANE_OPTIONS "X"
35 #include "matrice.h"
36 
37 /* cproto-generated files */
38 /* hyperplane.c */
39 extern statement hyperplane(list /*lls*/, bool (* /*u*/)(statement));
40 /* hyperplane_direction.c */
41 extern bool interactive_hyperplane_direction(Value */*h*/, int /*n*/);
42 /* scanning_base.c */
43 extern void scanning_base_hyperplane(Value /*h*/[], int /*n*/, matrice /*G*/);
44 extern void base_G_h1_unnull(Value /*h*/[], int /*n*/, matrice /*G*/);
45 /* global_parallelization.c */
46 extern void global_parallelization(const char */*module_name*/);
47 extern bool loop_hyperplane(const char */*module_name*/);
48 /* code_generation.c */
49 extern statement code_generation(list /*lls*/, Pvecteur /*pvg*/[], Pbase /*base_oldindex*/, Pbase /*base_newindex*/, Psysteme /*sc_newbase*/, bool /*preserve_entry_label_p*/);
50 /* tiling.c */
51 extern bool static_partitioning_matrix(matrice /*P*/, int /*n*/, const char */*serialized_matrix*/);
52 extern bool interactive_partitioning_matrix(matrice /*P*/, int /*n*/);
53 extern Psysteme tile_hyperplane_constraints(Pbase /*initial_basis*/, Pbase /*tile_basis*/, matrice /*HT*/, Pvecteur /*tiling_offset*/);
54 extern Psysteme local_tile_constraints(Pbase /*initial_basis*/, Pbase /*local_tile_basis*/, Psysteme /*sc*/, matrice /*P*/, Pvecteur */*pvch*/, statement /*st*/);
55 extern Pvecteur loop_nest_to_offset(list /*lls*/);
56 extern statement tiling_transformation(list /*lls*/, bool (* /*u*/)(statement));
57 extern bool loop_tiling(const char */*module_name*/);
58 extern bool check_tiling_legality(statement /*loopnest_st*/, matrice /*H*/, int /*dim*/);
59 extern Psysteme sc_projection_concat_proj_on_variables(Psysteme /*sc*/, Pbase /*index_base*/);
60 extern statement parallel_tiling(list /*lls*/, bool (* /*u*/)(statement));
61 extern bool parallel_loop_tiling(const char */*module_name*/);
62 /* symbolic_tiling.c */
63 extern void do_symbolic_tiling(statement /*base*/, list /*vector*/);
64 extern bool symbolic_tiling(const char */*module_name*/);
65 /* unimodular.c */
66 extern int loop_unimodular(string /*name*/);
67 #endif /* hyperplane_header_included */
int Value
statement code_generation(list, Pvecteur[], Pbase, Pbase, Psysteme, bool)
code_generation.c
bool symbolic_tiling(const char *)
bool parallel_loop_tiling(const char *)
Definition: tiling.c:1143
bool interactive_partitioning_matrix(matrice, int)
Query the user for a partitioning matrix P.
Definition: tiling.c:137
Psysteme sc_projection_concat_proj_on_variables(Psysteme, Pbase)
Definition: tiling.c:890
statement hyperplane(list, bool(*)(statement))
cproto-generated files
void do_symbolic_tiling(statement, list)
symbolic_tiling.c
statement tiling_transformation(list, bool(*)(statement))
Psysteme local_tile_constraints(Pbase, Pbase, Psysteme, matrice, Pvecteur *, statement)
Definition: tiling.c:407
statement parallel_tiling(list, bool(*)(statement))
bool loop_tiling(const char *)
Definition: tiling.c:725
Psysteme tile_hyperplane_constraints(Pbase, Pbase, matrice, Pvecteur)
Generate the tile membership constraints between a tile coordinates and an iteration coordinate.
Definition: tiling.c:274
void base_G_h1_unnull(Value[], int, matrice)
bool check_tiling_legality(statement, matrice, int)
Definition: tiling.c:812
int loop_unimodular(string)
unimodular.c
bool loop_hyperplane(const char *)
void scanning_base_hyperplane(Value[], int, matrice)
scanning_base.c
bool static_partitioning_matrix(matrice, int, const char *)
tiling.c
Definition: tiling.c:104
void global_parallelization(const char *)
global_parallelization.c
Pvecteur loop_nest_to_offset(list)
Definition: tiling.c:501
bool interactive_hyperplane_direction(Value *, int)
hyperplane_direction.c
Value * matrice
package matrice
Definition: matrice-local.h:71
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
Definition: vecteur-local.h:89
The structure used to build lists in NewGen.
Definition: newgen_list.h:41