Displaying 5 results from an estimated 5 matches for "trycand".
2017 Nov 23
3
mischeduler (pre-RA) experiments
Hi,
I have been experimenting for a while with tryCandidate() method of the
pre-RA mischeduler. I have by chance found some parameters that give
quite good results on benchmarks on SystemZ (on average 1% improvement,
some improvements of several percent and very little regressions).
Basically, I add a "latency heuristic boost" just above...
2015 Mar 27
2
[LLVMdev] Question about load clustering in the machine scheduler
...tern repeats itself. All of these are loads.
> Even without that limit, stalls take precedence over load clustering. So when you run out of load resources (15?) the scheduler should choose something else.
>
Is this the code that checks for stalls?
if (tryLess(Zone.getLatencyStallCycles(TryCand.SU),
Zone.getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall))
It is disabled if (!SU->isUnbuffered)
> > I have a feeling there is something wrong with my machine model in the
> > R600 backend, but I've experimented with a few variations of it and have
> &...
2016 Oct 28
2
mischeduler
...cyclic path limited, aggressively schedule for
// latency. This can result in very long dependence chains scheduled in
// sequence, so once every cycle (when CurrMOps == 0), switch to normal
// heuristics.
if (Rem.IsAcyclicLatencyLimited && !Zone->getCurrMOps() &&
tryLatency(TryCand, Cand, *Zone))
return;
Is this an error in comment or code? The CurrMOps is 0 once per cycle,
which means
this is actually done once per cycle, in contrast to what the comment
suggests.
...
// Schedule aggressively for latency in PostRA mode. We don't check for
// acyclic laten...
2015 Mar 27
2
[LLVMdev] Question about load clustering in the machine scheduler
Hi,
I have a program with over 100 loads (each with a 10 cycle latency)
at the beginning of the program, and I can't figure out how to get
the machine scheduler to intermix ALU instructions with the loads to
effectively hide the latency.
It seems the issue is with load clustering. I restrict load clustering
to 4 at a time, but when I look at the debug output, the loads are
always being
2019 Sep 10
2
MachineScheduler not scheduling for latency
...or "shouldReduceLatency should not be relevant at
MicroOpBufferSize = 1": are you suggesting that shouldReduceLatency
should effectively be changed to always return true on in-order CPUs?
Even with that change, latency comes pretty far down the list of
criteria tested in GenericScheduler::tryCandidate.
Thanks,
Jay.
On Mon, 9 Sep 2019 at 19:36, Andrew Trick <atrick at apple.com> wrote:
>
>
> > On Sep 9, 2019, at 4:22 AM, Jay Foad <jay.foad at gmail.com> wrote:
> >
> > Hi,
> >
> > I'm trying to understand why MachineScheduler does a poor j...