From 64fb0d3a7878671e4df0b58ab3aa00e4e860e62e Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 29 Jul 2011 09:54:23 +0000 Subject: [PATCH] re PR middle-end/49893 (-O3 generates wrong code for volatile) 2011-07-29 Richard Guenther PR tree-optimization/49893 * tree-predcom.c (suitable_reference_p): Volatile references are not suitable. From-SVN: r176921 --- gcc/ChangeLog | 6 ++++++ gcc/tree-predcom.c | 1 + 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d12436df0c..5653050796b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-07-29 Richard Guenther + + PR tree-optimization/49893 + * tree-predcom.c (suitable_reference_p): Volatile references + are not suitable. + 2011-07-29 Georg-Johann Lay PR target/49313 diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c index 94b0512bdaf..ac2314778a8 100644 --- a/gcc/tree-predcom.c +++ b/gcc/tree-predcom.c @@ -598,6 +598,7 @@ suitable_reference_p (struct data_reference *a, enum ref_step_type *ref_step) tree ref = DR_REF (a), step = DR_STEP (a); if (!step + || TREE_THIS_VOLATILE (ref) || !is_gimple_reg_type (TREE_TYPE (ref)) || tree_could_throw_p (ref)) return false; -- 2.30.2