]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/63375 (reordering of reads across fences)
authorMartin Jambor <mjambor@suse.cz>
Thu, 2 Oct 2014 17:13:30 +0000 (19:13 +0200)
committerMartin Jambor <jamborm@gcc.gnu.org>
Thu, 2 Oct 2014 17:13:30 +0000 (19:13 +0200)
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: r215807

gcc/ChangeLog
gcc/tree-sra.c

index 8b5d62943d82001732afa82b8110e0d0128dea09..24f6128e43e9be95399539642ea6b6c310bb90f4 100644 (file)
@@ -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-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/63342
index 43b2ce683cbe2050feee4498435cbd6785a18220..644861d7f211ca2f955fa3dc6f47fe5c8dae5989 100644 (file)
@@ -1030,6 +1030,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))
     {