diff options
author | Jakub Jelinek <jakub@redhat.com> | 2013-01-25 21:03:54 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-01-25 21:03:54 +0100 |
commit | d7fa6ee24e3042472f53c776d30d5f10b79afc2d (patch) | |
tree | 9f912299747d19a0c5f72e447bddfdcbd9149566 /gcc/config.gcc | |
parent | d4a180188bed0a798818ef176c89048343277665 (diff) | |
download | gcc-d7fa6ee24e3042472f53c776d30d5f10b79afc2d.zip gcc-d7fa6ee24e3042472f53c776d30d5f10b79afc2d.tar.gz gcc-d7fa6ee24e3042472f53c776d30d5f10b79afc2d.tar.bz2 |
re PR middle-end/56098 (conditional write through volatile pointer produces unintended read)
PR tree-optimization/56098
* tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
for stmts with volatile ops.
(cond_store_replacement): Don't optimize if assign has volatile ops.
(cond_if_else_store_replacement_1): Don't optimize if either
then_assign or else_assign have volatile ops.
(hoist_adjacent_loads): Don't optimize if either def1 or def2 have
volatile ops.
* gcc.dg/pr56098-1.c: New test.
* gcc.dg/pr56098-2.c: New test.
From-SVN: r195475
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions