--- gcc/graphite-blocking.c | 12 +++++++++++- gcc/graphite-clast-to-gimple.c | 9 +++++++++ gcc/graphite-cloog-util.c | 11 ++++++++++- gcc/graphite-cloog-util.h | 2 -- gcc/graphite-dependences.c | 11 ++++++++++- gcc/graphite-flattening.c | 11 ++++++++++- gcc/graphite-interchange.c | 12 +++++++++++- gcc/graphite-poly.c | 12 +++++++++++- gcc/graphite-poly.h | 40 +++++++++++++++++++++++----------------- gcc/graphite-ppl.c | 11 ++++++++++- gcc/graphite-scop-detection.c | 11 ++++++++++- gcc/graphite-sese-to-poly.c | 10 ++++++++++ gcc/graphite.c | 12 +++++++++++- 13 files changed, 136 insertions(+), 28 deletions(-)
diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c index 967de9d..429b405 100644 --- a/gcc/graphite-blocking.c +++ b/gcc/graphite-blocking.c @@ -1,7 +1,7 @@ /* Heuristics and transform for loop blocking and strip mining on polyhedral representation. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Pranav Garg <pranav.garg2...@gmail.com>. @@ -20,7 +20,17 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ + #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "tree-flow.h" diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index a7d0ddc..bb0f4c8 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -19,6 +19,15 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "diagnostic-core.h" diff --git a/gcc/graphite-cloog-util.c b/gcc/graphite-cloog-util.c index 83cfb54..82a49a1 100644 --- a/gcc/graphite-cloog-util.c +++ b/gcc/graphite-cloog-util.c @@ -1,5 +1,5 @@ /* Gimple Represented as Polyhedra. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@inria.fr> and Tobias Grosser <gros...@fim.uni-passau.de>. @@ -20,6 +20,15 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" diff --git a/gcc/graphite-cloog-util.h b/gcc/graphite-cloog-util.h index da26ee9..07894ea 100644 --- a/gcc/graphite-cloog-util.h +++ b/gcc/graphite-cloog-util.h @@ -21,8 +21,6 @@ along with GCC; see the file COPYING3. If not see #ifndef GRAPHITE_CLOOG_UTIL_H #define GRAPHITE_CLOOG_UTIL_H -#include "cloog/cloog.h" - CloogMatrix *new_Cloog_Matrix_from_ppl_Polyhedron (ppl_const_Polyhedron_t); CloogDomain *new_Cloog_Domain_from_ppl_Polyhedron (ppl_const_Polyhedron_t, int, CloogState *); diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c index fb49f16..9ba2731 100644 --- a/gcc/graphite-dependences.c +++ b/gcc/graphite-dependences.c @@ -1,5 +1,5 @@ /* Data dependence analysis for Graphite. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Konrad Trifunovic <konrad.trifuno...@inria.fr>. @@ -20,6 +20,15 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "tree-flow.h" diff --git a/gcc/graphite-flattening.c b/gcc/graphite-flattening.c index ccd0f5f..c58d8a3 100644 --- a/gcc/graphite-flattening.c +++ b/gcc/graphite-flattening.c @@ -1,5 +1,5 @@ /* Loop flattening for Graphite. - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com>. This file is part of GCC. @@ -19,6 +19,15 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "tree-flow.h" diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c index cb4d32c..b819ece 100644 --- a/gcc/graphite-interchange.c +++ b/gcc/graphite-interchange.c @@ -1,7 +1,7 @@ /* Interchange heuristics and transform for loop interchange on polyhedral representation. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Harsha Jagasia <harsha.jaga...@amd.com>. @@ -20,7 +20,17 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ + #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "tree-flow.h" diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c index db5b0cb..af40d20 100644 --- a/gcc/graphite-poly.c +++ b/gcc/graphite-poly.c @@ -1,5 +1,5 @@ /* Graphite polyhedral representation. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Tobias Grosser <gros...@fim.uni-passau.de>. @@ -18,7 +18,17 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ + #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "diagnostic-core.h" diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h index 417e99e..72e9530 100644 --- a/gcc/graphite-poly.h +++ b/gcc/graphite-poly.h @@ -1,5 +1,5 @@ /* Graphite polyhedral representation. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Tobias Grosser <gros...@fim.uni-passau.de>. @@ -180,7 +180,8 @@ struct poly_dr - P: Number of parameters. In the example, the vector "R C O I L P" is "7 7 3 2 0 1". */ - ppl_Pointset_Powerset_C_Polyhedron_t accesses; + ppl_Pointset_Powerset_C_Polyhedron_t _accesses; + isl_map *accesses; /* Data reference's base object set number, we must assure 2 pdrs are in the same base object set before dependency checking. */ @@ -195,7 +196,7 @@ struct poly_dr #define PDR_CDR(PDR) (PDR->compiler_dr) #define PDR_PBB(PDR) (PDR->pbb) #define PDR_TYPE(PDR) (PDR->type) -#define PDR_ACCESSES(PDR) (PDR->accesses) +#define PDR_ACCESSES(PDR) (PDR->_accesses) #define PDR_BASE_OBJECT_SET(PDR) (PDR->dr_base_object_set) #define PDR_NB_SUBSCRIPTS(PDR) (PDR->nb_subscripts) @@ -353,19 +354,23 @@ struct poly_bb The number of variables in the DOMAIN may change and is not related to the number of loops in the original code. */ - ppl_Pointset_Powerset_C_Polyhedron_t domain; + ppl_Pointset_Powerset_C_Polyhedron_t _domain; + isl_set *domain; /* The data references we access. */ VEC (poly_dr_p, heap) *drs; /* The original scattering. */ - poly_scattering_p original; + poly_scattering_p _original; + isl_map *schedule; /* The transformed scattering. */ - poly_scattering_p transformed; + poly_scattering_p _transformed; + isl_map *transformed; /* A copy of the transformed scattering. */ - poly_scattering_p saved; + poly_scattering_p _saved; + isl_map *saved; /* True when the PDR duplicates have already been removed. */ bool pdr_duplicates_removed; @@ -376,15 +381,15 @@ struct poly_bb #define PBB_BLACK_BOX(PBB) ((gimple_bb_p) PBB->black_box) #define PBB_SCOP(PBB) (PBB->scop) -#define PBB_DOMAIN(PBB) (PBB->domain) +#define PBB_DOMAIN(PBB) (PBB->_domain) #define PBB_DRS(PBB) (PBB->drs) -#define PBB_ORIGINAL(PBB) (PBB->original) -#define PBB_ORIGINAL_SCATTERING(PBB) (PBB->original->scattering) -#define PBB_TRANSFORMED(PBB) (PBB->transformed) -#define PBB_TRANSFORMED_SCATTERING(PBB) (PBB->transformed->scattering) -#define PBB_SAVED(PBB) (PBB->saved) -#define PBB_NB_LOCAL_VARIABLES(PBB) (PBB->transformed->nb_local_variables) -#define PBB_NB_SCATTERING_TRANSFORM(PBB) (PBB->transformed->nb_scattering) +#define PBB_ORIGINAL(PBB) (PBB->_original) +#define PBB_ORIGINAL_SCATTERING(PBB) (PBB_ORIGINAL (PBB)->scattering) +#define PBB_TRANSFORMED(PBB) (PBB->_transformed) +#define PBB_TRANSFORMED_SCATTERING(PBB) (PBB_TRANSFORMED (PBB)->scattering) +#define PBB_SAVED(PBB) (PBB->_saved) +#define PBB_NB_LOCAL_VARIABLES(PBB) (PBB_TRANSFORMED (PBB)->nb_local_variables) +#define PBB_NB_SCATTERING_TRANSFORM(PBB) (PBB_TRANSFORMED (PBB)->nb_scattering) #define PBB_PDR_DUPLICATES_REMOVED(PBB) (PBB->pdr_duplicates_removed) #define PBB_IS_REDUCTION(PBB) (PBB->is_reduction) @@ -1401,7 +1406,8 @@ struct scop -128 >= a >= 127 0 >= b >= 65,535 c = 2a + b */ - ppl_Pointset_Powerset_C_Polyhedron_t context; + ppl_Pointset_Powerset_C_Polyhedron_t _context; + isl_set *context; /* A hashtable of the data dependence relations for the original scattering. */ @@ -1414,7 +1420,7 @@ struct scop #define SCOP_BBS(S) (S->bbs) #define SCOP_REGION(S) ((sese) S->region) -#define SCOP_CONTEXT(S) (S->context) +#define SCOP_CONTEXT(S) (S->_context) #define SCOP_ORIGINAL_PDDRS(S) (S->original_pddrs) #define SCOP_ORIGINAL_SCHEDULE(S) (S->original_schedule) #define SCOP_TRANSFORMED_SCHEDULE(S) (S->transformed_schedule) diff --git a/gcc/graphite-ppl.c b/gcc/graphite-ppl.c index 9762ca4..d449237 100644 --- a/gcc/graphite-ppl.c +++ b/gcc/graphite-ppl.c @@ -1,5 +1,5 @@ /* Gimple Represented as Polyhedra. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Tobias Grosser <gros...@fim.uni-passau.de> @@ -20,6 +20,15 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 3460568..4cd1643 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -1,5 +1,5 @@ /* Detection of Static Control Parts (SCoP) for Graphite. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@amd.com> and Tobias Grosser <gros...@fim.uni-passau.de>. @@ -20,6 +20,15 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "tree-flow.h" diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 05280e7..b7efe41 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -19,6 +19,16 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "tree-flow.h" diff --git a/gcc/graphite.c b/gcc/graphite.c index e746c61..8f6d8a1 100644 --- a/gcc/graphite.c +++ b/gcc/graphite.c @@ -1,5 +1,6 @@ /* Gimple Represented as Polyhedra. - Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 + Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian....@inria.fr>. This file is part of GCC. @@ -33,6 +34,15 @@ along with GCC; see the file COPYING3. If not see the functions that are used for transforming the code. */ #include "config.h" + +#ifdef HAVE_cloog +#include <isl/set.h> +#include <isl/map.h> +#include <isl/union_map.h> +#include <cloog/cloog.h> +#include <cloog/isl/domain.h> +#endif + #include "system.h" #include "coretypes.h" #include "diagnostic-core.h" -- 1.7.4.1