diff options
author | Martin Jambor <mjambor@suse.cz> | 2014-10-02 18:49:14 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2014-10-02 18:49:14 +0200 |
commit | 252c1a465c2b12af14649a30fdf73fbd5d24b66d (patch) | |
tree | ebb6b6b0c17c9099a0856aaf9ec879565bd64921 | |
parent | d17f7d8a9dd8ef8e3152a497e0e7eede6c857c87 (diff) | |
download | gcc-252c1a465c2b12af14649a30fdf73fbd5d24b66d.zip gcc-252c1a465c2b12af14649a30fdf73fbd5d24b66d.tar.gz gcc-252c1a465c2b12af14649a30fdf73fbd5d24b66d.tar.bz2 |
re PR rtl-optimization/63375 (reordering of reads across fences)
2014-10-02 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/63375
* tree-sra.c (build_access_from_expr_1): Disqualify volatile
references.
From-SVN: r215804
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-sra.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6546ff1..e330d18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-02 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/63375 + * tree-sra.c (build_access_from_expr_1): Disqualify volatile + references. + 2014-10-02 Olivier Hainque <hainque@adacore.com> * Makefile.in (CROSS): Define, to @CROSS. diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 8259dba..fb24114 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -1064,6 +1064,11 @@ build_access_from_expr_1 (tree expr, gimple stmt, bool write) "component."); return NULL; } + if (TREE_THIS_VOLATILE (expr)) + { + disqualify_base_of_expr (expr, "part of a volatile reference."); + return NULL; + } switch (TREE_CODE (expr)) { |