aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-04-06 10:51:57 +0000
committerJan Hubicka <jh@suse.cz>2010-04-06 10:51:57 +0000
commit6413e29c81c797bee8c98fd928b90fb936096c20 (patch)
tree0cf982c27f3cdfc89b116a323ef032d312e0b418 /gcc/tree.c
parentd5bcdf48bf57a3db0f6c8d90029bf76fad97e82d (diff)
Merge from mainline
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/pretty-ipa@157985 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 86fe2bb3b62..863b51eda94 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -3824,10 +3824,14 @@ build6_stat (enum tree_code code, tree tt, tree arg0, tree arg1,
PROCESS_ARG(2);
PROCESS_ARG(3);
PROCESS_ARG(4);
+ if (code == TARGET_MEM_REF)
+ side_effects = 0;
PROCESS_ARG(5);
TREE_SIDE_EFFECTS (t) = side_effects;
- TREE_THIS_VOLATILE (t) = 0;
+ TREE_THIS_VOLATILE (t)
+ = (code == TARGET_MEM_REF
+ && arg5 && TREE_THIS_VOLATILE (arg5));
return t;
}