[PATCH] D67957: [ARM] Cortex-M4 schedule additions

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 24 04:43:58 PDT 2019


dmgreen created this revision.
dmgreen added reviewers: samparker, SjoerdMeijer, fhahn, javed.absar, t.p.northover.
Herald added subscribers: zzheng, hiraditya, kristof.beyls.
Herald added a project: LLVM.

This is an attempt to fill in some of the missing instructions from the Cortex-M4 schedule, and make it easier to do the same for other ARM cpus.

- Some instructions are marked as hasNoSchedulingInfo as they are pseudos or otherwise do not require scheduling info
- A lot of features have been marked not supported
- Some WriteRes's have been added for cvt instructions.
- Some extra instruction latencies have been added, notably by relaxing the regex for dsp instruction to catch more cases, and some fp instructions.

This goes a long way to get the CompleteModel working for this CPU. It does not go as far as to get all scheduling info for all output operands correct.


https://reviews.llvm.org/D67957

Files:
  llvm/lib/Target/ARM/ARMInstrFormats.td
  llvm/lib/Target/ARM/ARMInstrInfo.td
  llvm/lib/Target/ARM/ARMInstrThumb2.td
  llvm/lib/Target/ARM/ARMInstrVFP.td
  llvm/lib/Target/ARM/ARMScheduleM4.td
  llvm/test/CodeGen/ARM/ParallelDSP/complex_dot_prod.ll
  llvm/test/CodeGen/ARM/ParallelDSP/multi-use-loads.ll
  llvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67957.221511.patch
Type: text/x-patch
Size: 14641 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190924/4a9c371a/attachment.bin>


More information about the llvm-commits mailing list