diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2011-01-25 06:45:29 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2011-01-25 06:45:29 +0000 |
commit | 4a40293ae13bf68f00a7ac23932e654c12c8ff00 (patch) | |
tree | d97f1c3b4184e05c52224475592d2fba1f5180e4 /gcc/graphite-dependences.c | |
parent | 271fb6fae1c01083fe3abb084134b9549623f204 (diff) | |
download | gcc-4a40293ae13bf68f00a7ac23932e654c12c8ff00.tar.gz |
speedup compilation
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (build_lexicographical_constraint): Stop the
iteration when the bag of constraints is empty.
From-SVN: r169203
Diffstat (limited to 'gcc/graphite-dependences.c')
-rw-r--r-- | gcc/graphite-dependences.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); |