diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2001-07-26 13:59:22 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 2001-07-26 13:59:22 +0000 |
commit | 4a121cc34cd8153380aee3246979b8fb35e2a88f (patch) | |
tree | d529585912a27f24d918c1691b52427ec3a93d8a /gcc/params.def | |
parent | db3ef87b8a1858f77998a9e8a5275cc5755350d7 (diff) | |
download | gcc-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.def | 10 |
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, |