diff options
author | hagog <hagog@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-18 05:31:28 +0000 |
---|---|---|
committer | hagog <hagog@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-18 05:31:28 +0000 |
commit | 375bb675bbe7f76b0633c10f2429ac9a4b7a480f (patch) | |
tree | 659451af0eb92e8412fce0e70aaf671611d128e4 /gcc/doc/invoke.texi | |
parent | 1cc37be8224bb933d21384fff7a2b57c96d96408 (diff) | |
download | gcc-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.texi | 6 |
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 |