[PATCH] D45380: [X86] Add SchedWrites for CMOV and SETCC. Use them to remove InstRWs.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 6 11:14:34 PDT 2018


craig.topper created this revision.
craig.topper added reviewers: RKSimon, andreadb.

Cmov and setcc previously used WriteALU, but on Intel processors at least they are more restricted than basic ALU ops.

This patch adds new SchedWrites for them and removes the InstRWs. I had to leave some InstRWs for CMOVA/CMOVBE and SETA/SETBE because those have an extra uop relative to the other condition codes on Intel CPUs.


Repository:
  rL LLVM

https://reviews.llvm.org/D45380

Files:
  lib/Target/X86/X86InstrCMovSetCC.td
  lib/Target/X86/X86SchedBroadwell.td
  lib/Target/X86/X86SchedHaswell.td
  lib/Target/X86/X86SchedSandyBridge.td
  lib/Target/X86/X86SchedSkylakeClient.td
  lib/Target/X86/X86SchedSkylakeServer.td
  lib/Target/X86/X86Schedule.td
  lib/Target/X86/X86ScheduleBtVer2.td
  lib/Target/X86/X86ScheduleSLM.td
  lib/Target/X86/X86ScheduleZnver1.td
  test/CodeGen/X86/pr31045.ll
  test/CodeGen/X86/schedule-x86_64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45380.141384.patch
Type: text/x-patch
Size: 23048 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180406/19850a23/attachment.bin>


More information about the llvm-commits mailing list