diff options
author | Dorit Nuzman <dorit@il.ibm.com> | 2007-02-22 08:16:18 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2007-02-22 08:16:18 +0000 |
commit | b3832a9f88b62b7ec6a81743febef8cc5369d535 (patch) | |
tree | 574c3d11b2b4b5fe7b87fc4164943fcc054acd91 /gcc/tree-vectorizer.h | |
parent | d1fb5e1c0b2c50fce4934f3b604ea263c08ac8a8 (diff) | |
download | gcc-b3832a9f88b62b7ec6a81743febef8cc5369d535.tar.gz |
re PR tree-optimization/30858 (ice for legal code with -O2 -ftree-vectorize)
PR tree-optimization/30858
* tree-vectorizer.c (vect_is_simple_reduction): Check that the stmts
in the reduction cycle have a single use in the loop.
* tree-vectorizer.h (relevant): Add documentation.
From-SVN: r122220
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index dd41f2b2b15..4f0e7b95e82 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -175,7 +175,15 @@ enum stmt_vec_info_type { /* Indicates whether/how a variable is used in the loop. */ enum vect_relevant { vect_unused_in_loop = 0, + + /* defs that feed computations that end up (only) in a reduction. These + defs may be used by non-reduction stmts, but eventually, any + computations/values that are affected by these defs are used to compute + a reduction (i.e. don't get stored to memory, for example). We use this + to identify computations that we can change the order in which they are + computed. */ vect_used_by_reduction, + vect_used_in_loop }; |