Following in footsteps of not-total-failure of the first schedule profile
produced with the new next-gen tools like llvm-exegesis (BdVer2 (Piledriver), D52779),
let's continue the trend.
Here i present the scheduler model for AMD K10 CPU.
Much like with D52779, this is pretty much exclusively based on llvm-exegesis,
with some cross-referencing with some other sources (Agner, AMD SOG).
The time doesn't stand still, llvm-exegesis saw many improvements since
i've originally started looking into BdVer2 model, so this time around it took
not 6 months but just ~3 weeks :S
This is by no means perfect. But i'm actually going to claim that it is in
a comparable or better shape than the BdVer2 model was at the time of commit.
I didn't do any really heavy benchmarking, but i did use "internal" public real-world benchmark
i understand - RawSpeed raw image decoding library.
|Aggregate||Wall time change||Total CPU time change|
So looks like an improvement overall, with some regressions, not unexpectedly.
Some further cleanup will be needed for sure, i've put my eye on some inconsistencies in sched model,
but i don't feel like cleaning them up right away via InstRW because that will relieve immediate pressure
and may delay proper cleanup via splitting SchedWrite classes.
I shouldn't promise anything, but i'm hoping to look into AMD K8 afterwards.