This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Removal of gotos from cfg based ir
> On Fri, 2003-11-14 at 20:11, Richard Henderson wrote:
> > On Fri, Nov 14, 2003 at 05:09:57PM -0700, email@example.com wrote:
> > > OK. Thanks for clarifying. I need to re-think my position on this
> > > whole discussion. Something still doesn't feel right, but I'm more and
> > > more inclined to give it a try.
> > I think I'm mostly in favour. I am aware of Jan's work in
> > rtl-land with cfglayout mode, and it really does seem to
> > simplify some things there.
> > I do like the idea of preserving the CFG between trees and
> > rtl, if for no other reason than it seems wasteful to throw
> > it away and start over, especially when it appears to be so
> > trivial to preserve it.
> > And, given that, it doesn't seem wrong to go one step
> > farther and claim that's part of the tree->rtl interface.
> Sure, the implication however is that if you don't want to run SSA, you
> are going to have to build a CFG on the trees in order to generate rtl,
> or have 2 ways into rtl.
As discussed earlier, we do build CFG anyway in order to work on RTL and
we don't lose any performance building CFG earlier as indicated by
benchmarks I sent earlier (and in fact we save some CPU cycles now), so
this does not seem to be disasterous as well and I would ineed to prefer
The CFG aware expansion is about 100 lines currently, so I can do the
duplication too. (only what need to be CFG aware is expansion of
control flow statements. We currently have
COND_EXPRs/SWITCH_EXPRs/RETURN_EXPRs/EH stuff. Not too many of them and
most of the code can be shared in between CFG aware and unaware code