[PATCH] D17260: SystemZ scheduling implementation

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 1 08:59:45 PST 2016


jonpa updated this revision to Diff 49500.
jonpa added a comment.

Improved modelling of execution units by separating execution units and decoder slots needed for each instruction. Instructions with a double use of exec unit or with a coupled use of the LSU now gets this modelled.

For z13, more of the pipelines have been modelled (FXa, FXb, and the various vector pipelines).

LSU latency corrected to 4.
Latencies properly summed for cracked / expanded instructions. Instructions with joined dispatch have a latency same as for single issue
type instructions.

Tried use an include of commmon defs for different SchedModels, but TableGen
rejected this -- see comment in for example top screen of SystemZScheduleZ13.td.

This patch is on its way, but some regressions need to be fixed first.


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-04.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.49500.patch
Type: text/x-patch
Size: 159347 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160301/571cdce6/attachment-0001.bin>


More information about the llvm-commits mailing list