re PR tree-optimization/47365 (wrong code with -O -ftree-pre)
authorRichard Guenther <rguenther@suse.de>
Fri, 21 Jan 2011 14:02:41 +0000 (14:02 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 21 Jan 2011 14:02:41 +0000 (14:02 +0000)
commit3bc27de7f15eb376eaff150d5f5f663bb06426d4
treebb89c6b2d21b401a229d25af78bc12f6947a86fa
parent33e39b66855b799d048a88a6a7eaef6d2225c21f
re PR tree-optimization/47365 (wrong code with -O -ftree-pre)

2011-01-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/47365
* tree-ssa-sccvn.h (vn_lookup_kind): Declare.
(vn_reference_lookup_pieces): Adjust.
(vn_reference_lookup): Likewise.
* tree-ssa-sccvn.c (vn_walk_kind): New static global.
(vn_reference_lookup_3): Only look through kills if in
VN_WALKREWRITE mode.
(vn_reference_lookup_pieces): Adjust.
(vn_reference_lookup): Likewise.
(visit_reference_op_load): Likewise.
(visit_reference_op_store): Likewise.
* tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
(compute_avail): Likewise.
(eliminate): Likewise.

* gcc.dg/torture/pr47365.c: New testcase.
* gcc.dg/tree-ssa/pr47392.c: Likewise.

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