This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 11/28] speedup compilation
From: spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
* 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/branches/graphite@168837 138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/ChangeLog | 5 +++++
gcc/ChangeLog.graphite | 5 +++++
gcc/graphite-dependences.c | 7 ++++++-
3 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6898f95..01dfc7e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-01-21 Sebastian Pop <sebastian.pop@amd.com>
+ * graphite-dependences.c (build_lexicographical_constraint): Stop the
+ iteration when the bag of constraints is empty.
+
+2011-01-21 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2011-01-21 Sebastian Pop <sebastian.pop@amd.com>
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index d961c0c..0db1c60 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,10 @@
2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
+ * graphite-dependences.c (build_lexicographical_constraint): Stop the
+ iteration when the bag of constraints is empty.
+
+2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 303f994..c9bd1be 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);
--
1.7.1