Commit b5eb099f by Sebastian Pop Committed by Sebastian Pop

Correct the lexicographical function, add debug_pddr.

2010-02-03  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (new_poly_ddr): Initialize PDDR_KIND and
	PDDR_ORIGINAL_SCATTERING_P.
	(pddr_is_empty): Rewritten.
	(print_dependence_polyhedron_layout): New.
	(print_pddr): New.
	(debug_pddr): New.
	(build_alias_set_powerset): Moved up.
	(poly_drs_may_alias_p): Moved up.
	(lexicographically_gt_p): Removed.
	(build_lexicographically_gt_constraint): Renamed
	build_lexicographical_constraint, reimplemented.
	(dependence_polyhedron_1): Simplified parameters.
	(dependence_polyhedron): Same.  Keep along empty PDDRs
	to make efficient use of the cache.
	(reduction_dr_p): Compute the PBBs don't pass them as parameters.
	(graphite_legal_transform_dr): Rewritten.
	(graphite_legal_transform_bb): Pass fewer arguments to
	graphite_legal_transform_dr.
	(graphite_carried_dependence_level_k): Simplified implementation.
	(dot_original_deps_stmt_1): Call dependence_polyhedron.
	(dot_transformed_deps_stmt_1): Same.
	(dot_original_deps): Same.
	(dot_transformed_deps): Same.
	* graphite-dependences.h (struct poly_ddr): Added a new field
	original_scattering_p.
	(PDDR_ORIGINAL_SCATTERING_P): New.
	(print_pddr): Declared.
	(debug_pddr): Declared.
	* graphite-ppl.c: Clarify comment.
	* sese.h (print_gimple_bb): Removed unused declaration.
	(debug_gbb): Same.

From-SVN: r156549
parent 64630e61
2010-02-03 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (new_poly_ddr): Initialize PDDR_KIND and
PDDR_ORIGINAL_SCATTERING_P.
(pddr_is_empty): Rewritten.
(print_dependence_polyhedron_layout): New.
(print_pddr): New.
(debug_pddr): New.
(build_alias_set_powerset): Moved up.
(poly_drs_may_alias_p): Moved up.
(lexicographically_gt_p): Removed.
(build_lexicographically_gt_constraint): Renamed
build_lexicographical_constraint, reimplemented.
(dependence_polyhedron_1): Simplified parameters.
(dependence_polyhedron): Same. Keep along empty PDDRs
to make efficient use of the cache.
(reduction_dr_p): Compute the PBBs don't pass them as parameters.
(graphite_legal_transform_dr): Rewritten.
(graphite_legal_transform_bb): Pass fewer arguments to
graphite_legal_transform_dr.
(graphite_carried_dependence_level_k): Simplified implementation.
(dot_original_deps_stmt_1): Call dependence_polyhedron.
(dot_transformed_deps_stmt_1): Same.
(dot_original_deps): Same.
(dot_transformed_deps): Same.
* graphite-dependences.h (struct poly_ddr): Added a new field
original_scattering_p.
(PDDR_ORIGINAL_SCATTERING_P): New.
(print_pddr): Declared.
(debug_pddr): Declared.
* graphite-ppl.c: Clarify comment.
* sese.h (print_gimple_bb): Removed unused declaration.
(debug_gbb): Same.
2010-02-03 Sebastian Pop <sebastian.pop@amd.com>
* testsuite/g++.dg/graphite/graphite.exp: Rewritten.
* testsuite/gcc.dg/graphite/graphite.exp: Rewritten.
* testsuite/gfortran.dg/graphite/graphite.exp: Rewritten.
......
......@@ -30,6 +30,8 @@ enum poly_dependence_kind {
has_dependence
};
/* Represents a Polyhedral Data Dependence Relation. */
typedef struct poly_ddr
{
/* Source and sink data references of the dependence. */
......@@ -40,17 +42,23 @@ typedef struct poly_ddr
enum poly_dependence_kind kind;
/* True when the dependence relation is for the original scattering. */
bool original_scattering_p;
} *poly_ddr_p;
#define PDDR_SOURCE(PDDR) (PDDR->source)
#define PDDR_SINK(PDDR) (PDDR->sink)
#define PDDR_DDP(PDDR) (PDDR->ddp)
#define PDDR_KIND(PDDR) (PDDR->kind)
#define PDDR_ORIGINAL_SCATTERING_P(PDDR) (PDDR->original_scattering_p)
extern int eq_poly_ddr_p (const void *, const void *);
extern hashval_t hash_poly_ddr_p (const void *);
extern void free_poly_ddr (void *);
extern void dot_deps (scop_p);
extern void dot_deps_stmt (scop_p);
extern void print_pddr (FILE *, poly_ddr_p);
extern void debug_pddr (poly_ddr_p);
#endif
......@@ -701,7 +701,7 @@ ppl_min_for_le_polyhedron (ppl_Polyhedron_t pol,
}
/* Builds a constraint in dimension DIM relating dimensions POS1 to
POS2 as "POS1 - POS2 CSTR_TYPE C" */
POS2 as "POS1 - POS2 + C CSTR_TYPE 0" */
ppl_Constraint_t
ppl_build_relation (int dim, int pos1, int pos2, int c,
......
......@@ -390,7 +390,4 @@ nb_common_loops (sese region, gimple_bb_p gbb1, gimple_bb_p gbb2)
return sese_loop_depth (region, common);
}
extern void print_gimple_bb (FILE *, gimple_bb_p, int, int);
extern void debug_gbb (gimple_bb_p, int);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment