From 4a121cc34cd8153380aee3246979b8fb35e2a88f Mon Sep 17 00:00:00 2001 From: Andrew MacLeod Date: Thu, 26 Jul 2001 13:59:22 +0000 Subject: params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to limit length of dependancy flush list. 2001-07-26 Andrew MacLeod * 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 --- gcc/doc/invoke.texi | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gcc/doc/invoke.texi') diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 3b13ad8..f3b3e8e 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -3808,6 +3808,12 @@ optimization will not be done. @item max-gcse-passes The maximum number of passes of GCSE to run. +@item max-pending-list-length +The maximum number of pending dependancies scheduling will allow +before flushing the current state and starting over. Large functions +with few branches or calls can create excessively large lists which +needlessly consume memory and resources. + @item max-inline-insns If an function contains more than this many instructions, it will not be inlined. This option is precisely equivalent to -- cgit v1.1