[PATCH] D113150: Lift VLIWResourceModel, VLIWMachineScheduler, and ConvergingVLIWScheduler into CodeGen/VLIWMachineScheduler

James Nagurne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 3 15:37:53 PDT 2021


JamesNagurne created this revision.
JamesNagurne added a reviewer: kparzysz.
JamesNagurne added a project: LLVM.
Herald added subscribers: ecnelises, javed.absar, hiraditya, mgorny, MatzeB.
JamesNagurne requested review of this revision.
Herald added a subscriber: llvm-commits.

  The Pre-RA VLIWMachineScheduler used by Hexagon is a relatively generic
  implementation that would make sense to use on other VLIW targets.
  
  This commit lifts those classes into their own header/source file with the
  root VLIWMachineScheduler. I chose this path rather than adding the
  strategy et al. into MachineScheduler to avoid bloating the file with other
  implementations.
  
  Target-specific behaviors have been captured and replicated through
  function overloads.
  
  - Created an overloadable DFAPacketizer creation member function so
    that other targets are not restricted to the Packetizer created for the
    subtarget.
  - Added an extra helper which returns the number of instructions in the
    current packet.
  - Placed the priority heuristic values into the ConvergingVLIWscheduler
    class instead of them being local statics in the implementation
  - Added a overridable helper in ConvergingVLIWScheduler so that targets
    can create their own VLIWResourceModel


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D113150

Files:
  llvm/include/llvm/CodeGen/VLIWMachineScheduler.h
  llvm/lib/CodeGen/CMakeLists.txt
  llvm/lib/CodeGen/MachineScheduler.cpp
  llvm/lib/CodeGen/VLIWMachineScheduler.cpp
  llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp
  llvm/lib/Target/Hexagon/HexagonMachineScheduler.h
  llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113150.384603.patch
Type: text/x-patch
Size: 93355 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211103/4f7b3c11/attachment-0001.bin>


More information about the llvm-commits mailing list