[tree-ssa] Removal of gotos from cfg based ir

law@redhat.com law@redhat.com
Fri Nov 14 19:53:00 GMT 2003


In message <Pine.LNX.4.44.0311142014440.13268-100000@wotan.suse.de>, Michael Ma
tz writes:
 >Hi,
 >
 >On Fri, 14 Nov 2003 law@redhat.com wrote:
 >
 >> In message <1068818613.2305.29.camel@p4>, Andrew MacLeod writes:
 >>  >I simply dont see a significant win for this kind of representation. I
 >>  >can't beleive that changing GOTO's and labels are that much of a
 >>  >headache when you want to change program flow. That seems like fairly
 >>  >minor work.
 >> I don't see it as a huge win either.
 >
 >Let's state it this way: If Honza and Zdenek (as ones who wrote a massive
 >amount of the CFG manipulating functions) say it will be simpler with that
 >separation, I trust them.  Even if I wouldn't trust them, I still would be
 >convinced, because IMHO it's a very straight forward idea, and the
 >advantages are clear to me (mostly no problematic redundancy between insn
 >stream and CFG, which together make up the IL).
 >
 >OTOH: what advantages do you see in creating ugly hacks inside the stream,
 >like proposed in this thread, in order to not make the above separation?
I see the benefits, particularly in CFG manipulation.  Hell, myself and
others have pondered similar ideas for RTL and tree-ssa in the past, but 
we never were able to say that it's actually a significant improvement.

But more importantly in my mind is the design implications -- namely that
the IL no longer represents the function.  The function's representation 
is the IL + the CFG in Zdenek's scheme.  That's a fundamental design
change and that's what we need to sort out -- is it a good design change
or not.  Details about duality of manipulations, the -O0 argument are
secondary.

And for me at least, a fundamental design change needs to have large benefits,
not minor ones.

Jeff




More information about the Gcc-patches mailing list