aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2001-07-26 13:59:22 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>2001-07-26 13:59:22 +0000
commit4a121cc34cd8153380aee3246979b8fb35e2a88f (patch)
treed529585912a27f24d918c1691b52427ec3a93d8a /gcc/params.def
parentdb3ef87b8a1858f77998a9e8a5275cc5755350d7 (diff)
downloadgcc-4a121cc34cd8153380aee3246979b8fb35e2a88f.zip
gcc-4a121cc34cd8153380aee3246979b8fb35e2a88f.tar.gz
gcc-4a121cc34cd8153380aee3246979b8fb35e2a88f.tar.bz2
params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to limit length of dependancy flush list.
2001-07-26 Andrew MacLeod <amacleod@redhat.com> * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to limit length of dependancy flush list. * params.h (MAX_PENDING_LIST_LENGTH): Define. * sched-int.h (struct deps): Add pending_flush_length field. * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now has 1 element in it. (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH. (sched_analyze): After a jump, if the pending memory flush list is too large, flush the pending lists. (init_deps): Initialize pending_flush_length to 0. * doc/invoke.texi (max_pending_list_length): Document parameter. From-SVN: r44398
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def
index d7e9bc0..ca952c1 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -68,6 +68,16 @@ DEFPARAM(PARAM_MAX_DELAY_SLOT_LIVE_SEARCH,
"The maximum number of instructions to consider to find accurate live register information",
333)
+/* This parameter limits the number of branch elements that the
+ scheduler will track anti-dependancies through without resetting
+ the tracking mechanism. Large functions with few calls or barriers
+ can generate lists containing many 1000's of dependancies. Generally
+ the compiler either uses all available memory, or runs for far too long. */
+DEFPARAM(PARAM_MAX_PENDING_LIST_LENGTH,
+ "max-pending-list-length",
+ "The maximum length of scheduling's pending operations list",
+ 32)
+
/* The GCSE optimization will be disabled if it would require
significantly more memory than this value. */
DEFPARAM(PARAM_MAX_GCSE_MEMORY,