diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-20 12:56:01 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-20 12:56:01 +0000 |
commit | 86482d6bf55db0eea64cf549bf04c6763f4074a4 (patch) | |
tree | c37b4e8fdb620aa7e10238c591d1e5c0c5753af2 /gcc/params.def | |
parent | cd102cfc1332aec577e6ed9cbed3283297ed7ba1 (diff) | |
download | gcc-86482d6bf55db0eea64cf549bf04c6763f4074a4.tar.gz |
PR middle-end/39157
* Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
* params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
* params.def (loop-invariant-max-bbs-in-loop): New parameter.
* opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
parameter to 1000 for -O1 by default.
* doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
parameter.
* loop-invariant.c: Include params.h.
(move_loop_invariants): Don't call move_single_loop_invariants on
very large loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144320 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/params.def')
-rw-r--r-- | gcc/params.def | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/params.def b/gcc/params.def index ea5efc3e85c..3f7b2e77ed6 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -1,5 +1,5 @@ /* params.def - Run-time parameters. - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Written by Mark Mitchell <mark@codesourcery.com>. @@ -764,6 +764,13 @@ DEFPARAM (PARAM_SWITCH_CONVERSION_BRANCH_RATIO, "a switch conversion to take place", 8, 1, 0) +/* Avoid doing loop invariant motion on very large loops. */ + +DEFPARAM (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP, + "loop-invariant-max-bbs-in-loop", + "max basic blocks number in loop for loop invariant motion", + 10000, 0, 0) + /* Local variables: mode:c |