This is the mail archive of the gcc@gcc.gnu.org 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: Basic block reordering algorithm





Steven Bosscher <stevenb@suse.de> wrote on 04/13/2005 09:39:55 AM:

> On Wednesday 13 April 2005 00:18, Pat Haugen wrote:
> > When we have a test block gating whether a loop should be
> > entered, the new block frequency check causes the code to pick the
non-loop
> > path as the next block to add to the trace since the loop header block
has
> > a higher frequency, and hence the loop gets moved out of line.
>
> Have you tried with the patch to re-enable the loop header copying
> predictor: http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02577.html?
> It sounds like you might want to try that first...

That does indeed fix the case when there is no profile data present. But if
we have real profile data which presents a 50/50 probability on the gating
block then we're back to the same situation of moving the loop out of line
(although I guess one can always come up with scenarios to cause heuristics
to look bad, which many times may not be worth worrying about).



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