1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/lib
Craig Topper 17ef31d9cc [X86] Remove X86ISD::INC/DEC. Just select them from X86ISD::ADD/SUB at isel time
INC/DEC are pretty much the same as ADD/SUB except that they don't update the C flag.

This patch removes the special nodes and just pattern matches from ADD/SUB during isel if the C flag isn't being used.

I had to avoid selecting DEC is the result isn't used. This will become a SUB immediate which will turned into a CMP later by optimizeCompareInstr. This lead to the one test change where we use a CMP instead of a DEC for an overflow intrinsic since we only checked the flag.

This also exposed a hole in our RMW flag matching use of hasNoCarryFlagUses. Our root node for the match is a store and there's no guarantee that all the flag users have been selected yet. So hasNoCarryFlagUses needs to check copyToReg and machine opcodes, but it also needs to check for the pre-match SETCC, SETCC_CARRY, BRCOND, and CMOV opcodes.

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

llvm-svn: 350245
2019-01-02 19:01:05 +00:00
..
Analysis [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug) 2019-01-02 16:28:09 +00:00
AsmParser [ThinLTO] Compute synthetic function entry count 2018-12-13 19:54:27 +00:00
BinaryFormat llvm-dwarfdump: Improve/fix pretty printing of array dimensions 2018-12-19 19:34:24 +00:00
Bitcode [ThinLTO] Compute synthetic function entry count 2018-12-13 19:54:27 +00:00
CodeGen [DAGCombiner] After performing the division by constant optimization for a DIV or REM node, replace the users of the corresponding REM or DIV node if it exists. 2019-01-02 18:19:07 +00:00
DebugInfo llvm-dwarfdump: Skip address index info (and dump only the address, if found) when non-verbose dumping addrx forms 2018-12-24 06:52:31 +00:00
Demangle [MS Demangler] Add a flag for dumping types without tag specifier. 2019-01-02 18:33:12 +00:00
ExecutionEngine [ORC] Rename register in the OrcMips64 resolver code comments. NFC 2018-12-23 12:05:04 +00:00
Fuzzer
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
IR [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug) 2019-01-02 16:28:09 +00:00
IRReader
LineEditor
Linker ThinLTO: Do not import debug info for imported global constants 2018-12-05 21:42:17 +00:00
LTO [ThinLTO] Remove dllimport attribute from locally defined symbols 2018-12-19 19:07:45 +00:00
MC [WebAssembly] Make assembler check for proper nesting of control flow. 2018-12-26 22:46:18 +00:00
MCA [MCA] Minor refactoring of method DefaultResourceStrategy::select. NFCI 2019-01-02 15:40:52 +00:00
Object Add vtable anchor to classes. 2018-12-29 02:02:13 +00:00
ObjectYAML [yaml2obj/obj2yaml] - Support dumping/parsing ABI version. 2018-12-20 10:43:49 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Passes [NewPM] -print-module-scope -print-after now prints module even after invalidated Loop/SCC 2018-12-21 11:49:05 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support [NFC] Fixed extra semicolon warning 2018-12-30 13:18:17 +00:00
TableGen Let TableGen write output only if it changed, instead of doing so in cmake, attempt 2 2018-12-19 13:35:53 +00:00
Target [X86] Remove X86ISD::INC/DEC. Just select them from X86ISD::ADD/SUB at isel time 2019-01-02 19:01:05 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
TextAPI [TextAPI][elfabi] Fix YAML support for weak symbols 2018-12-21 20:45:58 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms [InstCombine] canonicalize raw IR rotate patterns to funnel shift 2019-01-01 21:51:39 +00:00
WindowsManifest
XRay [Object] Rename getRelrRelocationType to getRelativeRelocationType 2018-12-14 07:46:58 +00:00
CMakeLists.txt [llvm-mca] Move llvm-mca library to llvm/lib/MCA. 2018-12-17 08:08:31 +00:00
LLVMBuild.txt [llvm-mca] Move llvm-mca library to llvm/lib/MCA. 2018-12-17 08:08:31 +00:00