]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
authorSebastian Pop <sebastian.pop@amd.com>
Sat, 13 Mar 2010 17:34:51 +0000 (17:34 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Sat, 13 Mar 2010 17:34:51 +0000 (17:34 +0000)
2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>

* graphite.c (graphite_initialize): To bound the number of bbs per
function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
* doc/invoke.texi: Document it.

From-SVN: r157433

gcc/ChangeLog.graphite
gcc/doc/invoke.texi
gcc/graphite.c
gcc/params.def

index 2aa6fd55b86d470a08ef936e05d44c82a7d22847..3a94ee184595ebb1ceccc99b698fad0eacc85d96 100644 (file)
@@ -1,3 +1,10 @@
+2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (graphite_initialize): To bound the number of bbs per
+       function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
+       * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
+       * doc/invoke.texi: Document it.
+
 2010-03-09  Sebastian Pop  <sebastian.pop@amd.com>
 
        * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
index 21597017b539c872fb297f400bc31c5787f51093..b856ca2256f38e6caf99a5d5d6b3669e5e62055a 100644 (file)
@@ -8496,6 +8496,11 @@ pointer parameter.
 To avoid exponential effects in the Graphite loop transforms, the
 number of parameters in a SCoP is bounded by 10.
 
+@item graphite-max-bbs-per-function
+To avoid exponential effects in the detection of SCoPs, the functions
+with more than 100 basic blocks are not handled by the Graphite loop
+transforms.
+
 @end table
 @end table
 
index ba05cc74361b8a36209053861cf0a5d73c443488..a244b870e8c632745b75f14807b42092b2c1eff8 100644 (file)
@@ -202,7 +202,7 @@ graphite_initialize (void)
   if (number_of_loops () <= 1
       /* FIXME: This limit on the number of basic blocks of a function
         should be removed when the SCOP detection is faster.  */
-      || n_basic_blocks > 100)
+      || n_basic_blocks > PARAM_VALUE (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION))
     {
       if (dump_file && (dump_flags & TDF_DETAILS))
        print_global_statistics (dump_file);
index f6f549c1466b203ea695564b4459e6903b9c3121..dca575d4ab09e7c21f178a19a6135175224aba4e 100644 (file)
@@ -752,6 +752,13 @@ DEFPARAM (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS,
          "maximal number of parameters in a SCoP",
          10, 0, 0)
 
+/* Maximal number of basic blocks in the functions analyzed by Graphite.  */
+
+DEFPARAM (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION,
+         "graphite-max-bbs-per-function",
+         "maximal number of basic blocks per function to be analyzed by Graphite",
+         100, 0, 0)
+
 /* Avoid doing loop invariant motion on very large loops.  */
 
 DEFPARAM (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP,