diff options
author | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-30 11:33:27 +0000 |
---|---|---|
committer | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-30 11:33:27 +0000 |
commit | 9908a112522d03fb5f0cd2ee9ebfb65bb1313d73 (patch) | |
tree | 1a3e1815802c814b678e40fab991cb4301007d6f /gcc/tree-vect-stmts.c | |
parent | 809249a04b187136006b82f98a6912198f571445 (diff) | |
download | gcc-9908a112522d03fb5f0cd2ee9ebfb65bb1313d73.tar.gz |
PR tree-optimization/40542
* tree-vect-stmts.c (vect_analyze_stmt): Don't vectorize volatile
types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149090 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r-- | gcc/tree-vect-stmts.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 586e906b1de..1c9415b7031 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -3910,6 +3910,14 @@ vect_analyze_stmt (gimple stmt, bool *need_to_vectorize, slp_tree node) print_gimple_stmt (vect_dump, stmt, 0, TDF_SLIM); } + if (gimple_has_volatile_ops (stmt)) + { + if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS)) + fprintf (vect_dump, "not vectorized: stmt has volatile operands"); + + return false; + } + /* Skip stmts that do not need to be vectorized. In loops this is expected to include: - the COND_EXPR which is the loop exit condition |