diff options
author | congh <congh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-03 23:05:42 +0000 |
---|---|---|
committer | congh <congh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-03 23:05:42 +0000 |
commit | 004a94a58c7ad05cc2d4b795de7b09d569eb7160 (patch) | |
tree | 922c68d13315da3b6382d88c5012433e5c2649bc /gcc/tree-vectorizer.h | |
parent | b1e946eac198eec915b3844c2d6db15e2b60ee4e (diff) | |
download | gcc-004a94a58c7ad05cc2d4b795de7b09d569eb7160.tar.gz |
2014-04-03 Cong Hou <congh@google.com>
PR tree-optimization/60505
* tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
threshold of number of iterations below which no vectorization will be
done.
* tree-vect-loop.c (new_loop_vec_info):
Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_analyze_loop_operations):
Set LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_transform_loop):
Use LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
of iterations of the loop and see if we should build the epilogue.
2014-04-03 Cong Hou <congh@google.com>
PR tree-optimization/60505
* gcc.dg/vect/pr60505.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209065 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index f8efe471e06..f2087e22383 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -264,6 +264,11 @@ typedef struct _loop_vec_info { values unknown at compile time. */ int min_profitable_iters; + /* Threshold of number of iterations below which vectorzation will not be + performed. It is calculated from MIN_PROFITABLE_ITERS and + PARAM_MIN_VECT_LOOP_BOUND. */ + unsigned int th; + /* Is the loop vectorizable? */ bool vectorizable; @@ -382,6 +387,7 @@ typedef struct _loop_vec_info { cost model. */ #define LOOP_VINFO_NITERS_UNCHANGED(L) (L)->num_iters_unchanged #define LOOP_VINFO_COST_MODEL_MIN_ITERS(L) (L)->min_profitable_iters +#define LOOP_VINFO_COST_MODEL_THRESHOLD(L) (L)->th #define LOOP_VINFO_VECTORIZABLE_P(L) (L)->vectorizable #define LOOP_VINFO_VECT_FACTOR(L) (L)->vectorization_factor #define LOOP_VINFO_PTR_MASK(L) (L)->ptr_mask |