[PATCH] D17260: SystemZ scheduling implementation

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 15 02:31:52 PST 2016


jonpa created this revision.
jonpa added reviewers: atrick, hfinkel.
jonpa added a subscriber: llvm-commits.
Herald added subscribers: qcolombet, MatzeB.

General review and comments / suggestions would be greatly appreciated for this implementation of instruction scheduling for SystemZ.

It contains some changes outside the SystemZ backend, which will be addressed in separate revisions, but are included here also since they are part of this project.

There are some experimental parts left, which will not be commited, such as statistics and options.

Main points are:
* post-ra mischeduling with a HazardRecognizer for decoder groups, and a custom SchedStrategy.
* pre-ra mischeduling enabled.
* Instruction scheduling classes and definitions for z13, zEC12 and z196. z10 scheudling is not supported.



http://reviews.llvm.org/D17260

Files:
  include/llvm/CodeGen/MachineScheduler.h
  include/llvm/Target/TargetInstrInfo.h
  lib/CodeGen/CalcSpillWeights.cpp
  lib/CodeGen/MachineScheduler.cpp
  lib/Target/SystemZ/CMakeLists.txt
  lib/Target/SystemZ/SystemZ.td
  lib/Target/SystemZ/SystemZHazardRecognizer.cpp
  lib/Target/SystemZ/SystemZHazardRecognizer.h
  lib/Target/SystemZ/SystemZISelLowering.cpp
  lib/Target/SystemZ/SystemZISelLowering.h
  lib/Target/SystemZ/SystemZInstrInfo.cpp
  lib/Target/SystemZ/SystemZInstrInfo.h
  lib/Target/SystemZ/SystemZInstrInfo.td
  lib/Target/SystemZ/SystemZMachineScheduler.cpp
  lib/Target/SystemZ/SystemZMachineScheduler.h
  lib/Target/SystemZ/SystemZProcessors.td
  lib/Target/SystemZ/SystemZSchedule.td
  lib/Target/SystemZ/SystemZScheduleZ13.td
  lib/Target/SystemZ/SystemZScheduleZ196.td
  lib/Target/SystemZ/SystemZScheduleZEC12.td
  lib/Target/SystemZ/SystemZSubtarget.cpp
  lib/Target/SystemZ/SystemZSubtarget.h
  lib/Target/SystemZ/SystemZTargetMachine.cpp
  test/CodeGen/SystemZ/alias-01.ll
  test/CodeGen/SystemZ/alloca-01.ll
  test/CodeGen/SystemZ/alloca-02.ll
  test/CodeGen/SystemZ/alloca-03.ll
  test/CodeGen/SystemZ/args-01.ll
  test/CodeGen/SystemZ/args-02.ll
  test/CodeGen/SystemZ/args-03.ll
  test/CodeGen/SystemZ/args-06.ll
  test/CodeGen/SystemZ/atomicrmw-minmax-03.ll
  test/CodeGen/SystemZ/atomicrmw-minmax-04.ll
  test/CodeGen/SystemZ/atomicrmw-xchg-03.ll
  test/CodeGen/SystemZ/atomicrmw-xchg-04.ll
  test/CodeGen/SystemZ/branch-05.ll
  test/CodeGen/SystemZ/call-03.ll
  test/CodeGen/SystemZ/fp-add-03.ll
  test/CodeGen/SystemZ/fp-cmp-03.ll
  test/CodeGen/SystemZ/fp-cmp-04.ll
  test/CodeGen/SystemZ/fp-div-03.ll
  test/CodeGen/SystemZ/fp-mul-04.ll
  test/CodeGen/SystemZ/fp-mul-05.ll
  test/CodeGen/SystemZ/fp-sub-03.ll
  test/CodeGen/SystemZ/vec-args-06.ll
  test/CodeGen/SystemZ/vec-perm-12.ll
  test/CodeGen/SystemZ/vec-perm-13.ll
  test/CodeGen/SystemZ/vec-sub-01.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17260.47963.patch
Type: text/x-patch
Size: 156105 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160215/f3db26e3/attachment.bin>


More information about the llvm-commits mailing list