aboutsummaryrefslogtreecommitdiff
path: root/gcc/graphite-poly.h
diff options
context:
space:
mode:
authorSebastian Pop <seb@napoca>2010-02-11 19:42:38 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-02-11 19:42:38 +0000
commita1954f72c64181e9cd63945c12776e168f166bc3 (patch)
tree9a93f6270813899e2fca5101fe3e5ca955c10cee /gcc/graphite-poly.h
parent01e64c3dc777ec3515ca89cb279410edab2fc5c2 (diff)
downloadgcc-a1954f72c64181e9cd63945c12776e168f166bc3.zip
gcc-a1954f72c64181e9cd63945c12776e168f166bc3.tar.gz
gcc-a1954f72c64181e9cd63945c12776e168f166bc3.tar.bz2
re PR tree-optimization/42771 ([graphite] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c (2))
Fix PR42771. 2010-02-10 Sebastian Pop <seb@napoca> PR middle-end/42771 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters. * graphite-clast-to-gimple.h (gloog): Update declaration. * graphite-poly.c (new_scop): Clear POLY_SCOP_P. * graphite-poly.h (struct poly_bb): Add missing comments. (struct scop): Add poly_scop_p field. (POLY_SCOP_P): New. * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P. * graphite.c (graphite_transform_loops): Build the polyhedral representation for each scop before code generation. * sese.c (rename_variables_in_operand): Removed. (rename_variables_in_expr): Return the renamed expression. (rename_sese_parameters): New. * sese.h (rename_sese_parameters): Declared. * gcc.dg/graphite/pr42771.c: New. From-SVN: r156711
Diffstat (limited to 'gcc/graphite-poly.h')
-rw-r--r--gcc/graphite-poly.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
index a2969c7..0a8204e 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -277,8 +277,10 @@ struct poly_scattering
struct poly_bb
{
+ /* Pointer to a basic block or a statement in the compiler. */
void *black_box;
+ /* Pointer to the SCOP containing this PBB. */
scop_p scop;
/* The iteration domain of this bb.
@@ -1303,6 +1305,10 @@ struct scop
/* A hashtable of the data dependence relations for the original
scattering. */
htab_t original_pddrs;
+
+ /* True when the scop has been converted to its polyhedral
+ representation. */
+ bool poly_scop_p;
};
#define SCOP_BBS(S) (S->bbs)
@@ -1312,6 +1318,7 @@ struct scop
#define SCOP_ORIGINAL_SCHEDULE(S) (S->original_schedule)
#define SCOP_TRANSFORMED_SCHEDULE(S) (S->transformed_schedule)
#define SCOP_SAVED_SCHEDULE(S) (S->saved_schedule)
+#define POLY_SCOP_P(S) (S->poly_scop_p)
extern scop_p new_scop (void *);
extern void free_scop (scop_p);