[PATCH] D54142: [ARM] Cortex-M4 schedule

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 7 03:09:10 PST 2018


dmgreen added inline comments.


================
Comment at: lib/Target/ARM/ARM.td:980
 
-def : ProcessorModel<"cortex-m3", CortexM3Model,        [ARMv7m,
+def : ProcessorModel<"cortex-m3",   CortexM4Model,      [ARMv7m,
                                                          ProcM3,
----------------
javed.absar wrote:
> Would it be better to rename CortexM4Model as something more generic e.g. CortexMEfficientModel if it really benefits more than just M4.
I think M4 makes sense. It does use the latencies from that core, and the others are just close-enough that it still makes sense to use it. In the same way that we still use the A57 schedule for the A72. I don't believe this model would be used for v6m targets like the M0/M23, or for larger things like the M7.


================
Comment at: lib/Target/ARM/ARMScheduleM4.td:24
+
+let SchedModel = CortexM4Model in {
+
----------------
javed.absar wrote:
> wrong indentation for let
I think this is the same as for other schedules, such as the R52 or the AArch64's A53. Unless I am missing what you mean? I will move the M4Unit above it though.


================
Comment at: lib/Target/ARM/ARMScheduleM4.td:26
+
+def M4Unit   : ProcResource<1> { let BufferSize = 0; }
+
----------------
javed.absar wrote:
> Is this (BufferSize = 0) necessary here for in-order (given, MicroOpBufferSize = 0)?
It seems that if BufferSize is left off, it gets a default value of -1 in the generated ARMGenSubtargetInfo file. I added a comment.


https://reviews.llvm.org/D54142





More information about the llvm-commits mailing list