diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-13 14:22:23 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-13 14:22:23 +0000 |
commit | a9b2282eebaf6b66b3e00da270dd7b05a45ba33d (patch) | |
tree | e093a6851a7defde4e02f4c80a5cdb3acacf2c70 /gcc/params.def | |
parent | 959a896efc30fe8559634be92241764e43a9ca11 (diff) | |
download | gcc-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.def | 11 |
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 |