From: Martin Jambor Date: Thu, 2 Oct 2014 16:49:14 +0000 (+0200) Subject: re PR rtl-optimization/63375 (reordering of reads across fences) X-Git-Tag: releases/gcc-5.1.0~4326 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=252c1a465c2b12af14649a30fdf73fbd5d24b66d;p=thirdparty%2Fgcc.git 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: r215804 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6546ff138e28..e330d18ae4b4 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-02 Olivier Hainque * Makefile.in (CROSS): Define, to @CROSS. diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 8259dbaa316d..fb24114fa6b7 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)) {