From c4b172267e95dfb7883de9543c44f285feb38de2 Mon Sep 17 00:00:00 2001 From: spop Date: Tue, 25 Jan 2011 06:45:29 +0000 Subject: speedup compilation 2011-01-25 Sebastian Pop * graphite-dependences.c (build_lexicographical_constraint): Stop the iteration when the bag of constraints is empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169203 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/ChangeLog.graphite | 5 +++++ gcc/graphite-dependences.c | 7 ++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e9e145a949c..fb0cf2ce872 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-01-25 Sebastian Pop + + * graphite-dependences.c (build_lexicographical_constraint): Stop the + iteration when the bag of constraints is empty. + 2011-01-25 Sebastian Pop * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work. diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index d961c0cabc7..0db1c600b0e 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,8 @@ +2011-01-15 Sebastian Pop + + * graphite-dependences.c (build_lexicographical_constraint): Stop the + iteration when the bag of constraints is empty. + 2011-01-15 Sebastian Pop * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work. diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c index 303f9945df0..c9bd1befe53 100644 --- a/gcc/graphite-dependences.c +++ b/gcc/graphite-dependences.c @@ -334,7 +334,9 @@ dr_equality_constraints (graphite_dim_t dim, /* Builds scheduling inequality constraints: when DIRECTION is 1 builds a GE constraint, 0 builds an EQ constraint, - -1 builds a LE constraint. */ + -1 builds a LE constraint. + DIM is the dimension of the scheduling space. + POS and POS + OFFSET are the dimensions that are related. */ static ppl_Pointset_Powerset_C_Polyhedron_t build_pairwise_scheduling (graphite_dim_t dim, @@ -417,6 +419,9 @@ build_lexicographical_constraint (ppl_Pointset_Powerset_C_Polyhedron_t bag, ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (bag, sceq); ppl_delete_Pointset_Powerset_C_Polyhedron (sceq); + if (ppl_Pointset_Powerset_C_Polyhedron_is_empty (bag)) + break; + lex = build_pairwise_scheduling (dim, i + 1, offset, direction); ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (lex, bag); -- cgit v1.2.1