1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib
Sanjay Patel 8009b955b7 [x86] improve the default expansion of uaddsat/usubsat
This is yet another step towards solving PR14613:
https://bugs.llvm.org/show_bug.cgi?id=14613

uaddsat X, Y --> (X >u (X + Y)) ? -1 : X + Y
usubsat X, Y --> (X >u Y) ? X - Y : 0

We can't count on a sane vector ISA, so override the default (umin/umax)
expansion of unsigned add/sub saturate in cases where we do not have umin/umax.

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

llvm-svn: 356855
2019-03-24 13:55:54 +00:00
..
Analysis [ConstantRange] Add getFull() + getEmpty() named constructors; NFC 2019-03-24 09:34:40 +00:00
AsmParser IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
BinaryFormat [Object] Add basic minidump support 2019-03-21 09:18:59 +00:00
Bitcode [DebugInfoMetadata] Move main subprogram DIFlag into DISPFlags 2019-03-19 13:49:03 +00:00
CodeGen [TargetLowering] SimplifyDemandedBits trunc(srl(x, C1)) - early out for out of range C1. NFCI. 2019-03-22 20:53:49 +00:00
DebugInfo [DWARF] Delete a stray break and a stray comment. NFC 2019-03-23 16:15:40 +00:00
Demangle Add missing include (cstdlib) to Demangle.h 2019-01-22 19:18:18 +00:00
ExecutionEngine [perf][DebugInfo] follow up for "add SectionedAddress to DebugInfo interfaces" 2019-03-20 10:02:18 +00:00
Fuzzer
FuzzMutate [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
IR [ConstantRange] Add getFull() + getEmpty() named constructors; NFC 2019-03-24 09:34:40 +00:00
IRReader [IRReader] Expose getLazyIRModule 2019-02-11 22:01:13 +00:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [Linker] Fix crash handling appending linkage 2019-03-20 19:20:07 +00:00
LTO Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
MC [llvm-objcopy] - Fix a st_name of the first symbol table entry. 2019-03-22 10:28:56 +00:00
MCA [MCA] Highlight kernel bottlenecks in the summary view. 2019-03-04 11:52:34 +00:00
Object [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries 2019-03-22 02:43:11 +00:00
ObjectYAML [ObjectYAML] Add basic minidump generation support 2019-03-22 14:47:26 +00:00
Option Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Passes Resubmit r356511 "[TailCallElim] Add tailcall elimination pass to LTO pipelines" 2019-03-20 19:08:18 +00:00
ProfileData [SampleFDO] add suffix elision control for fcn names 2019-03-14 13:56:49 +00:00
Remarks [Remarks] Fix mismatched delete due to missing virtual destructor 2019-03-20 17:44:24 +00:00
Support [Legacy][TimePasses] allow -time-passes reporting into a custom stream 2019-03-22 23:11:08 +00:00
TableGen [TableGen] Allow 2^63-1 and 2^63-2 as int literals. 2019-03-12 09:28:19 +00:00
Target [x86] improve the default expansion of uaddsat/usubsat 2019-03-24 13:55:54 +00:00
Testing Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TextAPI Followup for r356820 to fix the bots. 2019-03-22 23:10:51 +00:00
ToolDrivers [llvm-ar][libObject] Fix relative paths when nesting thin archives. 2019-02-13 23:39:41 +00:00
Transforms [SLPVectorizer] shouldReorderOperands - just check for reordering. NFCI. 2019-03-24 13:36:32 +00:00
WindowsManifest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XRay Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00
LLVMBuild.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00