search for: trycand

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...