+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 ...
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
#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.
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.
**********************
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)
"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
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 */