This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Copyprop through aggregates.
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 07 Mar 2006 20:10:56 -0500
- Subject: Re: [PATCH] Copyprop through aggregates.
- References: <Pine.LNX.4.63.0602041326000.6210@t148.fhfr.qr>
On 02/04/06 07:35, Richard Guenther wrote:
> * tree-flow.h (get_stmt_rhs_def_stmt): Declare.
> (offset_overlaps_with_access): Likewise.
> * tree-flow-inline.h (offset_overlaps_with_access): New
> inline function definition.
> * tree-ssa-structalias.c (offset_overlaps_with_access):
> Remove.
> * tree-dfa.c (get_ref_base_and_extent): Remove assertion.
> Deal with structures ending in arrays and such unknown
> extent.
> (get_stmt_rhs_def_stmt): New helper walking virtual
> use-def chains.
> * tree-ssa-copy.c (stmt_may_generate_copy): Adjust for
> copyprop through aggregates.
> (copy_prop_visit_stmt): Likewise.
> (copy_prop_visit_assignment): For SSA_NAMEs defined by
> a memory load walk the virtual use-def chain searching for
> a definition of the memory load that is an SSA_NAME and
> use that for propagation.
>
Not OK. As we discussed on IRC recently, you are working around
limitations in the propagation engine. The fact that you had to add an
alternate use-def chain walker suggests that the approach is faulty.
I don't quite recall whether you were going to attempt extending the
propagation engine or were going to wait for me. It will be a while
until I can get around to it, unfortunately.