]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR middle-end/56098 (conditional write through volatile pointer produces unintende...
authorJakub Jelinek <jakub@redhat.com>
Fri, 25 Jan 2013 20:03:54 +0000 (21:03 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 25 Jan 2013 20:03:54 +0000 (21:03 +0100)
commitd7fa6ee24e3042472f53c776d30d5f10b79afc2d
tree9f912299747d19a0c5f72e447bddfdcbd9149566
parentd4a180188bed0a798818ef176c89048343277665
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
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr56098-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56098-2.c [new file with mode: 0644]
gcc/tree-ssa-phiopt.c