diff options
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); |