summaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
diff options
context:
space:
mode:
authorhagog <hagog@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-18 05:31:28 +0000
committerhagog <hagog@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-18 05:31:28 +0000
commit375bb675bbe7f76b0633c10f2429ac9a4b7a480f (patch)
tree659451af0eb92e8412fce0e70aaf671611d128e4 /gcc/doc/invoke.texi
parent1cc37be8224bb933d21384fff7a2b57c96d96408 (diff)
downloadgcc-375bb675bbe7f76b0633c10f2429ac9a4b7a480f.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89197 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r--gcc/doc/invoke.texi6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index db8c57f20c5..66e87a15990 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -316,6 +316,7 @@ Objective-C and Objective-C++ Dialects}.
-fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps @gol
-funroll-all-loops -funroll-loops -fpeel-loops @gol
-fsplit-ivs-in-unroller -funswitch-loops @gol
+-fvariable-expansion-in-unroller @gol
-ftree-pre -ftree-ccp -ftree-dce -ftree-loop-optimize @gol
-ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts @gol
-ftree-dominator-opts -ftree-dse -ftree-copyrename @gol
@@ -4728,6 +4729,11 @@ on some of the architectures due to restrictions in the CSE pass.
This optimization is enabled by default.
+@item -fvariable-expansion-in-unroller
+@opindex -fvariable-expansion-in-unroller
+With this option, the compiler will create multiple copies of some
+local variables when unrolling a loop which can result in superior code.
+
@item -fprefetch-loop-arrays
@opindex fprefetch-loop-arrays
If supported by the target machine, generate instructions to prefetch