summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-30 11:33:27 +0000
committerirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-30 11:33:27 +0000
commit9908a112522d03fb5f0cd2ee9ebfb65bb1313d73 (patch)
tree1a3e1815802c814b678e40fab991cb4301007d6f /gcc/tree-vect-stmts.c
parent809249a04b187136006b82f98a6912198f571445 (diff)
downloadgcc-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.c8
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