llvm-project/llvm/lib
Craig Topper b7baa358f6 [X86] Add SchedWrites for CMOV and SETCC. Use them to remove InstRWs.
Summary:
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.

The test changes are due to fixing a missing ZnAGU dependency on the memory form of setcc.

Reviewers: RKSimon, andreadb, GGanesh

Reviewed By: RKSimon

Subscribers: GGanesh, llvm-commits

Differential Revision: https://reviews.llvm.org/D45380

llvm-svn: 329539
2018-04-08 17:53:18 +00:00
..
Analysis [NFC] Loosen restriction on preheader to fix buildbot 2018-04-06 07:23:45 +00:00
AsmParser Add the ShadowCallStack attribute 2018-04-03 20:10:40 +00:00
BinaryFormat Fix build broken by r328090 2018-03-21 12:18:03 +00:00
Bitcode [Bitcode] Change std::sort to llvm::sort in response to r327219 2018-04-05 19:27:04 +00:00
CodeGen DAGCombiner: Combine SDIV with non-splat vector pow2 divisor 2018-04-08 11:35:20 +00:00
DebugInfo DWARFVerifier: validate information in name index entries 2018-04-06 13:34:12 +00:00
Demangle [demangler] Fix a bug in r328464 found by oss-fuzz. 2018-03-26 15:34:36 +00:00
ExecutionEngine [RuntimeDyld][PowerPC] Use global entry points for calls between sections. 2018-04-05 19:37:05 +00:00
FuzzMutate [llvm-opt-fuzzer] Add irce to the fuzzing options 2018-03-20 11:32:13 +00:00
Fuzzer
IR [LLVM-C] Move DIBuilder Bindings For Block Scopes 2018-04-07 06:07:55 +00:00
IRReader
LTO Prevent data races in concurrent ThinLTO processes. 2018-03-30 21:35:42 +00:00
LineEditor
Linker
MC [Support] Make line-number cache robust against access patterns. 2018-04-07 00:44:02 +00:00
Object [llvm-ar] Support multiple dashed options 2018-03-28 17:21:14 +00:00
ObjectYAML
Option
Passes Re-land r329273: [Plugins] Add a slim plugin API to work together with the new PM 2018-04-05 15:04:13 +00:00
ProfileData Revert "Revert "[InstrProf] Support for external functions in text format."" 2018-03-22 21:26:52 +00:00
Support [Support] Change std::sort to llvm::sort in response to r327219 2018-04-08 16:46:22 +00:00
TableGen [TableGen] Change std::sort to llvm::sort in response to r327219 2018-04-06 20:18:05 +00:00
Target [X86] Add SchedWrites for CMOV and SETCC. Use them to remove InstRWs. 2018-04-08 17:53:18 +00:00
Testing [LLVMTestingSupport] Add explicit linkage to LLVMSupport 2018-04-08 06:49:17 +00:00
ToolDrivers
Transforms [LIR] Reorder header. NFC 2018-04-08 13:19:53 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay
CMakeLists.txt
LLVMBuild.txt