This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Care to kill couple of SSA datastructures leaking out of outof-ssa pass.


> On Tue, Jun 28, 2005 at 01:00:06AM +0200, Jan Hubicka wrote:
> > > On Mon, Jun 27, 2005 at 06:29:16PM +0200, Jan Hubicka wrote:
> > > > 	* tree-optimize.c (exercute_free_datastructures):
> > > > 	Do not disband implicit edges; do not attempt to build insn list;
> > > > 	do not free cfg annotations.
> > > > 	(execute_free_cfg_annotations); Disband implicit edges here;
> > > > 	free cfg annotations here too.
> > > > 	(pass_free_cfg_annotations); New pass.
> > > > 	(init_tree_optimization_passes); Add pass_free_cfg_annotations.
> > > 
> > > What is the point of this?  You've placed the passes adjacent.
> > 
> > When I go in and out SSA I need to kill the SSA but not CFG.
> > 
> Which reminds me, are we going in and out of SSA during
> inter-procedural optimizations?  The flow I sort of have in my
> head is:
> 
>      1	create call graph
>      2	convert bodies to SSA form
>      3	do interprocedural tree optimizations
>      4	do intraprocedural tree optimizations
>      5	convert call graph to RTL
> 
> I can see how that can be expensive, but it would mean that we
> only go out of SSA in step #5.

This is sort of flow we are heading for, but there memory issues and
some other problems to work on.  On the tree-profiling branch I have the
code to go in/out of SSA before interprocedural optimizations that seems
to be rather easy and effective in some cases, so I would like to get it
in until we replace it by more complex beast...

Honza
> 
> 
> Diego.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]