From ce32fe651e3e727188452fa6e1eebb7d2c27e356 Mon Sep 17 00:00:00 2001
From: rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 26 Feb 2003 10:48:36 +0000
Subject: 	* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.

	* Makefile.in (loop-unroll.o): New.
	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
	(unroll_and_peel_loops): Declare.
	* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
	flag_old_unroll_loops.
	* loop.c (loop_invariant_p): Ditto.
	* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
	flag_old_unroll_all_loops.
	* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
	(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
	* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
	(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
	PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
	PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
	PARAM_MAX_ONCE_PEELED_INSNS): New.
	* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
	(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
	instead of old one.
	(flag_peel_loops): New.
	(lang_independent_options): The new flags added.
	(rest_of_compilation): Call new unroller.
	(process_options): Setup flags for coexistence of old and new unroller.
	* doc/invoke.texi: Document new options.
	* doc/passes.texi: Document new unroller pass.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63462 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/params.def | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

(limited to 'gcc/params.def')

diff --git a/gcc/params.def b/gcc/params.def
index 66d823164d2..a0744f9b3ad 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -149,7 +149,43 @@ DEFPARAM(PARAM_MAX_GCSE_PASSES,
 DEFPARAM(PARAM_MAX_UNROLLED_INSNS,
 	 "max-unrolled-insns",
 	 "The maximum number of instructions to consider to unroll in a loop",
-	 100)
+	 200)
+/* This parameter limits how many times the loop is unrolled depending
+   on number of insns really executed in each iteration.  */
+DEFPARAM(PARAM_MAX_AVERAGE_UNROLLED_INSNS,
+	 "max-average-unrolled-insns",
+	 "The maximum number of instructions to consider to unroll in a loop on average",
+	 80)
+/* The maximum number of unrollings of a single loop.  */
+DEFPARAM(PARAM_MAX_UNROLL_TIMES,
+	"max-unroll-times",
+	"The maximum number of unrollings of a single loop",
+	8)
+/* The maximum number of insns of a peeled loop.  */
+DEFPARAM(PARAM_MAX_PEELED_INSNS,
+	"max-peeled-insns",
+	"The maximum number of insns of a peeled loop",
+	120)
+/* The maximum number of peelings of a single loop.  */
+DEFPARAM(PARAM_MAX_PEEL_TIMES,
+	"max-peel-times",
+	"The maximum number of peelings of a single loop",
+	16)
+/* The maximum number of insns of a peeled loop.  */
+DEFPARAM(PARAM_MAX_COMPLETELY_PEELED_INSNS,
+	"max-completely-peeled-insns",
+	"The maximum number of insns of a completely peeled loop",
+	120)
+/* The maximum number of peelings of a single loop that is peeled completely.  */
+DEFPARAM(PARAM_MAX_COMPLETELY_PEEL_TIMES,
+	"max-completely-peel-times",
+	"The maximum number of peelings of a single loop that is peeled completely",
+	16)
+/* The maximum number of insns of a peeled loop that rolls only once.  */
+DEFPARAM(PARAM_MAX_ONCE_PEELED_INSNS,
+	"max-once-peeled-insns",
+	"The maximum number of insns of a peeled loop that rolls only once",
+	200)
 
 /* The maximum number of insns of an unswitched loop.  */
 DEFPARAM(PARAM_MAX_UNSWITCH_INSNS,
-- 
cgit v1.2.1

