re PR tree-optimization/69776 (Wrong optimization with aliasing)
authorRichard Biener <rguenther@suse.de>
Mon, 15 Feb 2016 08:42:38 +0000 (08:42 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 15 Feb 2016 08:42:38 +0000 (08:42 +0000)
commit1c48bff185df422d6f9f980fd02466606be2ccd4
treeced0a83a15fa56f6e17922648bde552b105142be
parent9e074c0d6df7096f40fa0a046dfe6401c413d467
re PR tree-optimization/69776 (Wrong optimization with aliasing)

2016-02-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69776
* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
indicate whether we can use TBAA to disambiguate against stores.
Use alias-set zero if not.
(visit_reference_op_store): Do not use TBAA when looking up
redundant stores.
* tree-ssa-pre.c (compute_avail): Use TBAA here.
(eliminate_dom_walker::before_dom_children): But not when looking
up redundant stores.

* gcc.dg/torture/pr69776.c: New testcase.

From-SVN: r233418
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr69776.c [new file with mode: 0644]
gcc/tree-ssa-pre.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa-sccvn.h