From 72dbeb36a4a371a9c9b701655e6e5afdcbc8d70a Mon Sep 17 00:00:00 2001 From: pinskia Date: Tue, 26 Jul 2011 05:28:45 +0000 Subject: 2011-07-25 Andrew Pinski PR tree-opt/49671 * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and TREE_THIS_NOTRAP into the inner most MEM_REF. Always copy TREE_THIS_VOLATILE. * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and arguments are not volatile references. 2011-07-25 Andrew Pinski PR tree-opt/49671 * gcc.dg/tree-ssa/pr49671-1.c: New testcase. * gcc.dg/tree-ssa/pr49671-2.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176782 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-inline.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/tree-inline.c') diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 6a8eae86945..e9daff63cc3 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -881,14 +881,16 @@ remap_gimple_op_r (tree *tp, int *walk_subtrees, void *data) build_int_cst (TREE_TYPE (TREE_OPERAND (*tp, 1)), 0)); *tp = tem; + TREE_THIS_VOLATILE (*tem_basep) = TREE_THIS_VOLATILE (old); + TREE_THIS_NOTRAP (*tem_basep) = TREE_THIS_NOTRAP (old); } else { *tp = fold_build2 (MEM_REF, type, ptr, TREE_OPERAND (*tp, 1)); - TREE_THIS_VOLATILE (*tp) = TREE_THIS_VOLATILE (old); TREE_THIS_NOTRAP (*tp) = TREE_THIS_NOTRAP (old); } + TREE_THIS_VOLATILE (*tp) = TREE_THIS_VOLATILE (old); TREE_NO_WARNING (*tp) = TREE_NO_WARNING (old); *walk_subtrees = 0; return NULL; -- cgit v1.2.1