summaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-20 12:56:01 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-20 12:56:01 +0000
commit86482d6bf55db0eea64cf549bf04c6763f4074a4 (patch)
treec37b4e8fdb620aa7e10238c591d1e5c0c5753af2 /gcc/params.def
parentcd102cfc1332aec577e6ed9cbed3283297ed7ba1 (diff)
downloadgcc-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.def9
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