summaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorRevital Eres <eres@il.ibm.com>2004-10-18 05:31:28 +0000
committerMostafa Hagog <hagog@gcc.gnu.org>2004-10-18 05:31:28 +0000
commitf37a4f143d14f12cc7bb9a76e10e7a119bc3d61f (patch)
tree659451af0eb92e8412fce0e70aaf671611d128e4 /gcc/params.def
parent535306d0decc4821b3c4b896d5e7b837428c5160 (diff)
downloadgcc-f37a4f143d14f12cc7bb9a76e10e7a119bc3d61f.tar.gz
Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2004-10-18 Revital Eres <eres@il.ibm.com> * Makefile.in (loop-unroll.o): Add VARRAY_H dependency. * loop-unroll.c: Include varray.h. (struct var_to_expand, struct opt_info): Rename split_ivs_info to opt_info and expand it to support variable expansion. (analyze_insns_in_loop): Rename analyze_ivs_to_split and expand it to support variable expansion. (pt_info_start_duplication): Rename si_info_start_duplication. (apply_opt_in_copies): Rename split_ivs_in_copies and add support to the variable expansion optimization. (free_opt_info): Rename free_si_info. (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p, expand_var_during_unrolling, insert_var_expansion_initialization, combine_var_copies_in_loop_exit, release_var_copies, get_expansion): New functions. (peel_loop_completely, unroll_loop_constant_iterations, unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid): Change uses of struct si_info to struct opt_info and add uses of fvariable-expansion-in-unroller flag. * params.def: Add parameter to restrict the number of expansions. * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict the number of expansions. * common.opt: (fvariable-expansion-in-unroller): New flag. * doc/invoke.texi: (fvariable-expansion-in-unroller): Document. From-SVN: r89197
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def
index 845b8d2c51b..79c55bcd2c1 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -95,6 +95,15 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS_RTL,
"The maximum number of instructions for the RTL inliner",
600)
+/* Limit the number of expansions created by the variable expansion
+ optimization to avoid register pressure. */
+DEFPARAM (PARAM_MAX_VARIABLE_EXPANSIONS,
+ "max-variable-expansions-in-unroller",
+ "If -fvariable-expansion-in-unroller is used, the maximum number of \
+ times that an individual variable will be expanded \
+ during loop unrolling",
+ 1)
+
/* The maximum number of instructions to consider when looking for an
instruction to fill a delay slot. If more than this arbitrary
number of instructions is searched, the time savings from filling