diff options
author | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-06 10:59:58 +0000 |
---|---|---|
committer | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-06 10:59:58 +0000 |
commit | 25e3c2e84712f5e71dc9a9a8a5bee33faa0871c6 (patch) | |
tree | d212aa353f9a4c74483a300139b763af6e6840f7 /gcc/doc/invoke.texi | |
parent | 8702dea37588abe6a760c112026636fc9a89e73a (diff) | |
download | gcc-25e3c2e84712f5e71dc9a9a8a5bee33faa0871c6.tar.gz |
* common.opt: Add option ftree-vect-loop-version.
* params.def: Add --param vect-max-version-checks.
* doc/invoke.texi: Document ftree-vect-loop-version and
--param vect-max-version-checks.
* tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
may_misalign_stmts and defines for accessors.
* tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
LOOP_VINFO_MAY_MISALIGN_STMTS.
(destroy_loop_vec_info): VEC_free for
LOOP_VINFO_MAY_MISALIGN_STMTS.
* tree-vect-analyze.c (vect_compute_data_ref_alignment):
Update documentation.
(vect_update_misalignment_for_peel): New.
(vect_enhance_data_refs_alignment): Update to choose loop
peeling or loop versioning if appropriate for the (potentially)
unaligned data references in the loop.
(vect_analyze_data_refs_alignment): Remove call to
vect_enhance_data_refs_alignment so the checks can be done
earlier.
(vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
and move up call to vect_analyze_data_refs_alignment.
* tree-vect-transform.c (vect_create_cond_for_align_checks): New.
(vect_transform_loop): Add call to loop_version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103941 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index d31523ac446..7dfa3a4693d 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -337,7 +337,7 @@ Objective-C and Objective-C++ Dialects}. -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts @gol -ftree-dominator-opts -ftree-dse -ftree-copyrename -ftree-sink @gol -ftree-ch -ftree-sra -ftree-ter -ftree-lrs -ftree-fre -ftree-vectorize @gol --ftree-salias -fweb @gol +-ftree-vect-loop-version -ftree-salias -fweb @gol -ftree-copy-prop -ftree-store-ccp -ftree-store-copy-prop -fwhole-program @gol --param @var{name}=@var{value} -O -O0 -O1 -O2 -O3 -Os} @@ -4391,7 +4391,8 @@ optimizations designed to reduce code size. @option{-Os} disables the following optimization flags: @gccoptlist{-falign-functions -falign-jumps -falign-loops @gol --falign-labels -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays} +-falign-labels -freorder-blocks -freorder-blocks-and-partition @gol +-fprefetch-loop-arrays -ftree-vect-loop-version} If you use multiple @option{-O} options, with or without level numbers, the last such option is the one that is effective. @@ -5038,6 +5039,15 @@ optimization later. This is enabled by default at @option{-O} and higher. @item -ftree-vectorize Perform loop vectorization on trees. +@item -ftree-vect-loop-version +@opindex ftree-vect-loop-version +Perform loop versioning when doing loop vectorization on trees. When a loop +appears to be vectorizable except that data alignment or data dependence cannot +be determined at compile time then vectorized and non-vectorized versions of +the loop are generated along with runtime checks for alignment or dependence +to control which version is executed. This option is enabled by default +except at level @option{-Os} where it is disabled. + @item -ftree-vrp Perform Value Range Propagation on trees. This is similar to the constant propagation pass, but instead of values, ranges of values are @@ -5883,6 +5893,11 @@ optimization when a new iv is added to the set. Bound on size of expressions used in the scalar evolutions analyzer. Large expressions slow the analyzer. +@item vect-max-version-checks +The maxinum number of runtime checks that can be performed when doing +loop versioning in the vectorizer. See option ftree-vect-loop-version +for more information. + @item max-iterations-to-track The maximum number of iterations of a loop the brute force algorithm |