summaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-13 14:22:23 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-13 14:22:23 +0000
commita9b2282eebaf6b66b3e00da270dd7b05a45ba33d (patch)
treee093a6851a7defde4e02f4c80a5cdb3acacf2c70 /gcc/params.def
parent959a896efc30fe8559634be92241764e43a9ca11 (diff)
downloadgcc-a9b2282eebaf6b66b3e00da270dd7b05a45ba33d.tar.gz
2007-12-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34450 * params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param. * invoke.texi (sccvn-max-scc-size): Document. * Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency. * tree-ssa-sccvn.h (run_scc_vn): Return true on success, false on error. * tree-ssa-sccvn.c (params.h): Include. (DFS): Return true if all went well, return false as soon as a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE. (run_scc_vn): Return true if all went well, return false if we aborted during DFS. * tree-ssa-pre.c (execute_pre): Check if SCCVN finished successfully, otherwise bail out. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130895 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def
index fc85c8804eb..1915727e28b 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -713,6 +713,17 @@ DEFPARAM (PARAM_MAX_PARTIAL_ANTIC_LENGTH,
"Maximum length of partial antic set when performing tree pre optimization",
100, 0, 0)
+/* The following is used as a stop-gap limit for cases where really huge
+ SCCs blow up memory and compile-time use too much. If we hit this limit,
+ SCCVN and such FRE and PRE will be not done at all for the current
+ function. */
+
+DEFPARAM (PARAM_SCCVN_MAX_SCC_SIZE,
+ "sccvn-max-scc-size",
+ "Maximum size of a SCC before SCCVN stops processing a function",
+ 10000, 10, 0)
+
+
/*
Local variables:
mode:c