aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2005-11-05 01:55:23 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2005-11-05 00:55:23 +0000
commit95b9a3a55c158fc87ac4164d87fdccaa33bfa8df (patch)
tree2528946d7ea31c1a4553fc28e301db2d6bfac0d1 /gcc/flow.c
parent50fe876da0e0792b5cf55d7eba7dd30f0efbf1de (diff)
downloadgcc-95b9a3a55c158fc87ac4164d87fdccaa33bfa8df.zip
gcc-95b9a3a55c158fc87ac4164d87fdccaa33bfa8df.tar.gz
gcc-95b9a3a55c158fc87ac4164d87fdccaa33bfa8df.tar.bz2
re PR rtl-optimization/23490 (Long compile time for array initializer with inlined constructor)
PR rtl-optimization/23490 * doc/invoke.texi (max-predicted-iterations, max-cse-insns, max-flow-memory-location): Document. * flow.c: Include params.h (MAX_MEM_SET_LIST_LEN): Kill. (add_to_mem_set_list): Use new param. * cse.c (cse_basic_block): Replace 1000 by new param. * params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS, PARAM_MAX_FLOW_MEMORY_LOCATIONS): New. * predict.c (predict_loops): Use new param. * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove. From-SVN: r106520
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index aa45def..1fc88b6 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -141,6 +141,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "obstack.h"
#include "splay-tree.h"
#include "tree-pass.h"
+#include "params.h"
#ifndef HAVE_epilogue
#define HAVE_epilogue 0
@@ -283,10 +284,6 @@ static int ndead;
static int *reg_deaths;
-/* Maximum length of pbi->mem_set_list before we start dropping
- new elements on the floor. */
-#define MAX_MEM_SET_LIST_LEN 100
-
/* Forward declarations */
static int verify_wide_reg_1 (rtx *, void *);
static void verify_wide_reg (int, basic_block);
@@ -630,7 +627,7 @@ update_life_info (sbitmap blocks, enum update_life_extent extent,
/* We repeat regardless of what cleanup_cfg says. If there were
instructions deleted above, that might have been only a
- partial improvement (see MAX_MEM_SET_LIST_LEN usage).
+ partial improvement (see PARAM_MAX_FLOW_MEMORY_LOCATIONS usage).
Further improvement may be possible. */
cleanup_cfg (CLEANUP_EXPENSIVE);
@@ -2515,7 +2512,7 @@ add_to_mem_set_list (struct propagate_block_info *pbi, rtx mem)
}
}
- if (pbi->mem_set_list_len < MAX_MEM_SET_LIST_LEN)
+ if (pbi->mem_set_list_len < PARAM_VALUE (PARAM_MAX_FLOW_MEMORY_LOCATIONS))
{
#ifdef AUTO_INC_DEC
/* Store a copy of mem, otherwise the address may be