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: [tree-ssa] Removal of gotos from cfg based ir


> On Fri, Nov 14, 2003 at 09:36:24PM +0100, Jan Hubicka wrote:
> > Both runs allocate 40MB of memory (with my patch we get slightly more), but
> > with Zdenek's changes I would expect the CFG based run to get less memory by
> > avoiding need for gotos ....
> 
> No way.  The GOTO_EXPRs and COND_EXPRs already exist.  Their memory

I see.  I tought we canonized COND_EXPRs to have GOTOs on both sides 
only for CFG construction, but we do that when not optimizing too.
Not sure what creates the new nodes, perhaps we do during stmt removal.
I can look into it later.  Still it is not quite big.

> has already been allocated.  You are going to save *nothing* going
> to the new form.  Indeed, you are going to allocate more memory for
> the new nodes to replace the COND_EXPR and SWITCH_EXPRs.
> 
> Any argument for Zdenek's work will be independent of memory usage.

In optimizing compilation I would expect Zdenek's patch to still save
memory - for instance when ssapre does critical edge splitting it
introduces quite many new jumps.  With Zdenek's patch this comes for
free.
Can we replace the nodes in place?

Honza
> 
> 
> r~


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