invoke.texi: Add description of max-gcse-passes param.
authorDaniel Berlin <dan@cgsoftware.com>
Wed, 27 Jun 2001 14:35:24 +0000 (14:35 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Wed, 27 Jun 2001 14:35:24 +0000 (14:35 +0000)
2001-06-26  Daniel Berlin  <dan@cgsoftware.com>

* doc/invoke.texi: Add description of max-gcse-passes param.

* gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
(MAX_PASSES): Remove now unneeded macro.

* params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
max-gcse-passes param.

* params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
maximum number of GCSE passes to run. Defaults to 1 (which is what
MAX_PASSES in gcse.c used to be).

From-SVN: r43610

gcc/ChangeLog
gcc/doc/invoke.texi
gcc/gcse.c
gcc/params.def
gcc/params.h

index 2d087cd..8c6197a 100644 (file)
@@ -1,3 +1,17 @@
+2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
+       
+       * doc/invoke.texi: Add description of max-gcse-passes param.
+
+       * gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
+       (MAX_PASSES): Remove now unneeded macro.
+
+       * params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
+       max-gcse-passes param.
+
+       * params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
+       maximum number of GCSE passes to run. Defaults to 1 (which is what
+       MAX_PASSES in gcse.c used to be).
+
 2001-06-27  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
 
        * system.h (TARGET_ESC): Move to ...
index 94d4e0c..b93a80e 100644 (file)
@@ -3784,6 +3784,9 @@ order to perform the global common subexpression elimination
 optimization.  If more memory than specified is required, the
 optimization will not be done.
 
+@item max-gcse-passes
+The maximum number of passes of GCSE to run. 
+
 @item max-inline-insns
 If an function contains more than this many instructions, it
 will not be inlined.  This option is precisely equivalent to
index 82f2787..76687de 100644 (file)
@@ -166,9 +166,6 @@ Boston, MA 02111-1307, USA.  */
 #define obstack_chunk_alloc gmalloc
 #define obstack_chunk_free free
 
-/* Maximum number of passes to perform.  */
-#define MAX_PASSES 1
-
 /* Propagate flow information through back edges and thus enable PRE's
    moving loop invariant calculations out of loops.
 
@@ -232,7 +229,7 @@ Boston, MA 02111-1307, USA.  */
    substitutions.
 
    PRE is quite expensive in complicated functions because the DFA can take
-   awhile to converge.  Hence we only perform one pass.  Macro MAX_PASSES can
+   awhile to converge.  Hence we only perform one pass.  The parameter max-gcse-passes can
    be modified if one wants to experiment.
 
    **********************
@@ -810,7 +807,7 @@ gcse_main (f, file)
   max_pass_bytes = 0;
   gcse_obstack_bottom = gcse_alloc (1);
   changed = 1;
-  while (changed && pass < MAX_PASSES)
+  while (changed && pass < MAX_GCSE_PASSES)
     {
       changed = 0;
       if (file)
index 24b3aa2..eff8a23 100644 (file)
@@ -74,7 +74,11 @@ DEFPARAM(PARAM_MAX_GCSE_MEMORY,
         "max-gcse-memory",
         "The maximum amount of memory to be allocated by GCSE",
         50 * 1024 * 1024)
-
+/* The number of repetitions of copy/const prop and PRE to run. */
+DEFPARAM(PARAM_MAX_GCSE_PASSES,
+       "max-gcse-passes",
+       "The maximum number of passes to make when doing GCSE",
+       1)
 /*
 Local variables:
 mode:c
index 7f0bacd..2b29094 100644 (file)
@@ -92,5 +92,6 @@ typedef enum compiler_param
   PARAM_VALUE (PARAM_MAX_DELAY_SLOT_LIVE_SEARCH)
 #define MAX_GCSE_MEMORY \
   ((size_t) PARAM_VALUE (PARAM_MAX_GCSE_MEMORY))
-
+#define MAX_GCSE_PASSES \
+  PARAM_VALUE (PARAM_MAX_GCSE_PASSES)
 #endif /* ! GCC_PARAMS_H */