This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, middle-end]: move superblock formation to Tree-SSA
- From: Richard Guenther <rguenther at suse dot de>
- To: Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>
- Cc: Diego Novillo <dnovillo at google dot com>, Robert Kidd <rkidd at crhc dot uiuc dot edu>, gcc-patches at gcc dot gnu dot org, Ian Lance Taylor <iant at google dot com>
- Date: Tue, 12 Jun 2007 15:46:38 +0200 (CEST)
- Subject: Re: [PATCH, middle-end]: move superblock formation to Tree-SSA
- References: <Pine.LNX.4.64.0706121535430.27490@zhemvz.fhfr.qr> <20070612134059.GB31353@kam.mff.cuni.cz>
On Tue, 12 Jun 2007, Zdenek Dvorak wrote:
> Hello,
>
> > On Tue, 12 Jun 2007, Diego Novillo wrote:
> >
> > > On 6/11/07 9:58 PM, Robert Kidd wrote:
> > >
> > > > 2007-06-11 Robert Kidd <rkidd@crhc.uiuc.edu>
> > > >
> > > > * bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
> > > > RTL level tracer pass.
> > > > * passes.c (init_optimization_passes): Move pass_tracer from
> > > > after pass_rtl_ifcvt to after pass_dce.
> > > > * tracer.c: Update copyright.
> > > > (layout_superblocks): Remove function.
> > > > (mark_bb_seen): New.
> > > > (bb_seen_p): New.
> > > > (count_insns): Change to estimate instructions in a Tree-SSA
> > > > statement.
> > > > (find_trace): Use bb_seen_p.
> > > > (tail_duplicate): Use bb_seen_p. Call add_phi_args_after_copy
> > > > after duplicate_block.
> > > > (tracer): Change prototype to match that of a pass execute
> > > > callback.
> > > > (gate_tracer): Rename from gate_handle_tracer.
> > > > (rest_of_handle_tracer): Remove function.
> > > > * rtl.h: Remove prototype for tracer.
> > > > * testsuite/gcc.dg/tree-prof/tracer-1.c: New.
> > >
> > > This is OK with me. I am not entirely sure whether I can approve it
> > > though, as it crosses on to RTL. I'm CCing some middle-end maintainers
> > > just in case.
> > >
> > > Thanks for your patience. I know this patch has been outstanding for a
> > > long time.
> >
> > As far as the middle-end is concerned the patch is ok. (We can move
> > the pass later if it turns out to hinder optimizations in some case)
>
> I would somewhat prefer to have it after loop optimizer for now (my reason
> being that it may be somewhat difficult to maintain the loops in tracer,
> which conflicts with my project to preserve loops throughout tree
> compilation); we may move the pass earlier if it turns out to be useful
> :-)
Ok. Robert, can you do performance tests with the pass moved after
pass_cd_dce?
Thanks,
Richard.