[PATCH] D63628: AMD K10 (Barcelona) Initial Scheduler model

Andrea Di Biagio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 24 05:21:52 PDT 2019


andreadb added a comment.

Hi Roman,

thanks for the patch. I left some comments below.

Overall, the patch looks good.
It is okay to contribute improvements to zero-idioms/dep-breaking instructions in a later patch.



================
Comment at: lib/Target/X86/X86ScheduleBarcelona.td:24
+  let MicroOpBufferSize = 72; // 24 lines of three macro-ops.
+  let LoopMicroOpBufferSize = -1; // There does not seem to be a loop buffer.
+  let LoadLatency = 3; // The L1 data cache has a 3-cycle load-to-use latency.
----------------
You can safely remove this line.
The default value of LoopMicroOpBufferSize is already -1.


================
Comment at: lib/Target/X86/X86ScheduleBarcelona.td:45-48
+def BnRCU : RetireControlUnit<72, 3>;
+// FIXME: it isn't that simple actually.
+// It's not 72 entries, but more like 24 "entries", each entry tracking
+// up to 3 lanes.
----------------
I think that your definition of RetireControlUnit is fine.
The RCU is definitely 72 entries. It internally tracks macro-ops contributed to each pipeline. The fact that instructions are distributed among three different pipes after Fetch shouldn't really affect the description of the RCU in LLVM (or require future any changes in future). In practice, you can assume a uniform distribution of decoded ops on the three pipelines. Basically, I don't think that you need a FIXME here.



================
Comment at: lib/Target/X86/X86ScheduleBarcelona.td:286
+
+defm : BnWriteRes<WriteZero, [/*No ExePorts*/], 0, [], 0>; // FIXME
+
----------------
FIXME?


================
Comment at: lib/Target/X86/X86ScheduleBarcelona.td:305
+// to '1' to tell the scheduler that the nop uses an ALU slot for a cycle.
+defm : BnWriteResInt<WriteNop, BnInt012, [BnALU012], 0, [1], 1>; // FIXME
+
----------------
Maybe clarify what there is to FIX.
Did you verify that NOPs consume an ALU slot?


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63628/new/

https://reviews.llvm.org/D63628





More information about the llvm-commits mailing list