This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFC] Get back what DCE was able to do in 4.2 with V_MUST_DEFs
- From: "Diego Novillo" <dnovillo at google dot com>
- To: "Richard Guenther" <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 27 Sep 2007 15:54:25 -0400
- Subject: Re: [PATCH][RFC] Get back what DCE was able to do in 4.2 with V_MUST_DEFs
- References: <Pine.LNX.4.64.0709271901220.4331@r100.fhfr.qr>
On 9/27/07, Richard Guenther <rguenther@suse.de> wrote:
> 2007-09-27 Richard Guenther <rguenther@suse.de>
>
> PR tree-optimization/33562
> * tree-ssa-dce.c (propagate_necessity): Look for killing
> VDEFs and do not mark their associated VMAY_USEs as necessary.
> (remove_dead_stmt): Update virtual operands of users of removed
> VDEFs.
> (eliminate_unnecessary_stmts): Do not remove unnecessary PHIs
> here,
> (perform_tree_ssa_dce): but do so here, after propagating
> necessity again.
> * tree-dfa.c (get_ref_base_and_extent): Do not ICE on things
> we cannot handle. We return the full ref as base in that
> case.
>
> * gcc.c-torture/compile/20070927-1.c: New testcase.
> * gcc.dg/tree-ssa/complex-4.c: Remove XFAIL again.
I think I would rather keep pessimizing this test case instead of
hacking DCE in such a way. The effort is much better spent in a good
DSE implementation. Otherwise, we will just keep perpetuating hack
upon hack until DCE becomes unmaintainable.
Sorry. This is not as useful feedback as I would want it to be. And
I realize that I have not had time to fix DSE properly, but I don't
think DCE should be stretched this way.