diff options
author | Yuri Rumyantsev <ysrumyan@gmail.com> | 2016-07-01 09:42:01 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2016-07-01 09:42:01 +0000 |
commit | 677ef4dd37b714f10e0147bff70afe47f2dea30b (patch) | |
tree | b13fcbb0d9636b6593ea7023c65448628cec55db /gcc | |
parent | 02c19e2bc72d519ca08ceff0ae0824c676085cf3 (diff) | |
download | gcc-677ef4dd37b714f10e0147bff70afe47f2dea30b.zip gcc-677ef4dd37b714f10e0147bff70afe47f2dea30b.tar.gz gcc-677ef4dd37b714f10e0147bff70afe47f2dea30b.tar.bz2 |
re PR tree-optimization/70729 (Loop marked with omp simd pragma is not vectorized)
PR tree-optimization/70729
gcc/
* tree-vectorizer.c (adjust_simduid_builtins): Nullify safelen field
of loop since it can be not valid after transformation.
From-SVN: r237907
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-vectorizer.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 153c10e..685847b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-07-01 Yuri Rumyantsev <ysrumyan@gmail.com> + + PR tree-optimization/70729 + * tree-vectorizer.c (adjust_simduid_builtins): Nullify safelen field + of loop since it can be not valid after transformation. + 2016-07-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.c (thumb_reload_in_hi): Delete. diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 2669813..9fbd183 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -204,6 +204,10 @@ adjust_simduid_builtins (hash_table<simduid_to_vf> *htab) gcc_assert (TREE_CODE (arg) == SSA_NAME); simduid_to_vf *p = NULL, data; data.simduid = DECL_UID (SSA_NAME_VAR (arg)); + /* Need to nullify loop safelen field since it's value is not + valid after transformation. */ + if (bb->loop_father && bb->loop_father->safelen > 0) + bb->loop_father->safelen = 0; if (htab) { p = htab->find (&data); |