This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Removal of gotos from cfg based ir
- From: law at redhat dot com
- To: Michael Matz <matz at suse dot de>
- Cc: Andrew MacLeod <amacleod at redhat dot com>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, gcc-patches <gcc-patches at gcc dot gnu dot org>, jh at suse dot cz
- Date: Fri, 14 Nov 2003 13:10:22 -0700
- Subject: Re: [tree-ssa] Removal of gotos from cfg based ir
- Reply-to: law at redhat dot com
In message <Pine.LNX.firstname.lastname@example.org>, Michael Ma
>On Fri, 14 Nov 2003 email@example.com wrote:
>> But more importantly in my mind is the design implications -- namely that
>> the IL no longer represents the function.
>In case of EH and non-call exceptions the insn stream _already_ doesn't
>represent the function fully. Sure the are the REG_EH_REGION tags, but
>those also need side lookups, and are more directly handled by looking at
Yes, that's true for RTL. Hmmm, that may even be true now for tree-ssa
with Richard's lowering changes. Hmmm.
>> And for me at least, a fundamental design change needs to have large
>> benefits, not minor ones.
>Easier way to RTL cgf-layout mode for instance.
Yes, but I don't see that as a major benefits.
> No fiddling with consistency of CFG and insn stream.
Likewise. Though it is clearly a benefit.
> No difference of fallthrough but no goto, and other edges and goto.
True. But there's other less fundamentally changing ways to deal with that.
LLVM's use of def-use & use-def chains for preds/succs is actually a
very interesting concept. I don't know if it's any better than Zdenek's
scheme or what we do now, but it's definitely interesting :-)