This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] cfg.texi needs reviewing by a native speaker (Was: Re: "Documentation by paper")
- From: Jan Hubicka <jh at suse dot cz>
- To: law at redhat dot com
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Jan Hubicka <jh at suse dot cz>,Steven Bosscher <stevenb at suse dot de>, Robert Dewar <dewar at gnat dot com>,Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>, gcc-patches at gcc dot gnu dot org,dnovillo at redhat dot com
- Date: Mon, 9 Feb 2004 23:06:12 +0100
- Subject: Re: [tree-ssa] cfg.texi needs reviewing by a native speaker (Was: Re: "Documentation by paper")
- References: <20040209173849.GD12597@atrey.karlin.mff.cuni.cz> <200402092138.i19Lclm5025774@speedy.slc.redhat.com>
> In message <20040209173849.GD12597@atrey.karlin.mff.cuni.cz>, Jan Hubicka write
> >> In message <20040205231458.GC10518@kam.mff.cuni.cz>, Jan Hubicka writes:
> >> >Also since you seem to be poking around the stuff in tree-ssa, you shall
> >> >be warned that the predictions are poorer than on mainline.
> >> I'm not terribly concerned about the predictions at the tree level at this
> >> time.
> >Predictions on RTL level are broken too.
> As I'm all to aware. This messes up both register allocation and block
> placement, which ultimately result in a 10% performance loss in perl.
> So exactly what problems are you aware of?
I tried to explain that in previous mail, but in more detail.
The problem are the highlevel prediction heuristics. GCC has some code
that notice that "goto" is usually not executed, return -1 is usually
error state or loops formed by continue statement are usually not
looping as many times as real loops. These are messed up completely by
I plan to fix that by making profile survive down to the RTL and do
these predictions on tree only by NOTE_INSN_PREDICTION equivalent passed
down by simplifier.
But I need to move forward with the cfg transparency patches first.
I can take a look how bad the situation looks for perl by analyze_brprob
tomorrow if it is interesting for you.
Looking at the mainline results, these heuristics are not terribly high,
so perhaps it is something more trivial, but perl is really sensitive
about prediction so it is dificult to guess.