From b71f29afc82a2648afe5d7b9194bf5de60c70f3c Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Thu, 2 Oct 2014 19:13:30 +0200 Subject: [PATCH] re PR rtl-optimization/63375 (reordering of reads across fences) 2014-10-02 Martin Jambor PR tree-optimization/63375 * tree-sra.c (build_access_from_expr_1): Disqualify volatile references. From-SVN: r215807 --- gcc/ChangeLog | 6 ++++++ gcc/tree-sra.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b5d62943d82..24f6128e43e9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-02 Martin Jambor + + PR tree-optimization/63375 + * tree-sra.c (build_access_from_expr_1): Disqualify volatile + references. + 2014-10-01 Jakub Jelinek PR debug/63342 diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 43b2ce683cbe..644861d7f211 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -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)) { -- 2.47.2