This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] cfg.texi needs reviewing by a native speaker (Was: Re: "Documentation by paper")

> In message <>, Jan Hubicka write
> s:
>  >> In message <>, 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
gimplification process.

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.

> Jeff

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]