This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Removal of gotos from cfg based ir
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: law at redhat dot com
- Cc: Andrew MacLeod <amacleod at redhat dot com>, Jan Hubicka <jh at suse dot cz>,Jan Hubicka <hubicka at ucw dot cz>, Jason Merrill <jason at redhat dot com>,Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>,Diego Novillo <dnovillo at redhat dot com>,gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 15 Nov 2003 01:51:06 +0100
- Subject: Re: [tree-ssa] Removal of gotos from cfg based ir
- References: <1068848004.5920.23.camel@p4> <200311150016.hAF0GXi6000905@speedy.slc.redhat.com>
> In message <1068848004.5920.23.camel@p4>, Andrew MacLeod writes:
> >I would suggest that maybe you could put the execution counts right in
> >the GOTO_EXPR's... oh, we NULL out the fallthru ones now don't we. hmm.
> >why do we do that again?
> Because if you leave them in, you get a 40% increase in the number of
> jumps created when you translate from trees into rtl.
Perhaps we can embedde this into RTL expansion.
It is so easy transfromation, so it won't make the code terribly
dificult (at least in my CFG expansion code it can be relatively short)
> >> On RTL we used to represent profile by notes but it never worked very
> >> well (in fact we never managed to use that information). My experience
> >> with any unrelated anotations on instruction stream is very bad.
> >> Perhaps it can be done somehow in significantly better way, but RTL
> >> scheme of REG_EQUIV/LOOP/SCOPE and similar notes has ever brought us
> >> headaches.
> >the attraction of the notes concept is that it is optional. If the note
> >isnt there, you dont have the information, so you dont use it. If you
> >are going to make up the information in the absence of notes, then you
> >are promoting the information from optional to necessary, its just that
> >you have to make up the values before proceeding, so notes kind of fall
> >apart there. PLus, in rtl there were lots of kinds of note, so you had
> >to hunt to see if there were there, etc etc. I didnt like notes much
> >either :-)
> Notes suck. Both the kind attached to insns and the kind which appear
> between insns. We've got the same fundamental problem with annoatations
> right now that we're going to have to solve one day.
:) I see, I am not only who hates them :)
Notes attached to instructions suck, but notes in between instructions