PR tree-optimization/41783
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Oct 2009 13:00:36 +0000 (13:00 +0000)
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Oct 2009 13:00:36 +0000 (13:00 +0000)
commit7814d4186a9b0b10e6e62133d5210cb2589de1de
treefbb6277956a1693b32bea61a71c9fbf0f2321aee
parent543681ac06537fd2972efce8eb6f7680a38ceb03
PR tree-optimization/41783
* tree-ssa-alias.c (get_continuation_for_phi): Export, add a special
case for simple diamonds
* tree-ssa-alias.h (get_continuation_for_phi): Declare.
* tree-ssa-pre.c (translate_vuse_through_block): Add same_valid
argument, use alias oracle to skip some vdefs.
(phi_translate_1): Change call to above, don't allocate new
value ids if they can stay the same.
(compute_avail): Allow vuse walking when looking up references.

testsuite/
* gcc.dg/pr41783.c: New test.
* gcc.dg/tree-ssa/ssa-pre-23.c: Adjust.
* gcc.dg/tree-ssa/ssa-pre-24.c: Don't xfail anymore.
* gcc.dg/tree-ssa/ssa-pre-27.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153551 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr41783.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-23.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-24.c
gcc/tree-ssa-alias.c
gcc/tree-ssa-alias.h
gcc/tree-ssa-pre.c