1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib
Roman Lebedev ab5879c2fd [DAGCombiner][X86][AArch64][SPARC][SystemZ] y - (x + C) -> (y - x) - C fold. Try 2
Summary:
Direct sibling of D62223 patch.
While i don't have a direct motivational pattern for this,
it would seem to make sense to handle both patterns (or none),
for symmetry?

The aarch64 changes look neutral;
sparc and systemz look like improvement (one less instruction each);
x86 changes - 32bit case improves, 64bit case shows that LEA no longer
gets constructed, which may be because that whole test is `-mattr=+slow-lea,+slow-3ops-lea`

https://rise4fun.com/Alive/ffh

This is a recommit, originally committed in rL361853, but reverted
to investigate test-suite compile-time hangs.

Reviewers: RKSimon, craig.topper, spatel, t.p.northover

Reviewed By: t.p.northover

Subscribers: t.p.northover, jyknight, javed.absar, kristof.beyls, fedor.sergeev, jrtc27, llvm-commits

Tags: #llvm

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

llvm-svn: 361872
2019-05-28 20:39:55 +00:00
..
Analysis [ValueTracking][ConstantRange] Distinguish low/high always overflow 2019-05-28 18:08:31 +00:00
AsmParser [LLParser] Fix uninitialized flag variable warnings. NFCI. 2019-05-27 16:33:15 +00:00
BinaryFormat [XCOFF] Add functionality for parsing AIX XCOFF object file headers 2019-04-04 00:53:21 +00:00
Bitcode [IR] allow fast-math-flags on select of FP values 2019-05-22 15:50:46 +00:00
CodeGen [DAGCombiner][X86][AArch64][SPARC][SystemZ] y - (x + C) -> (y - x) - C fold. Try 2 2019-05-28 20:39:55 +00:00
DebugInfo llvm-dwarfdump: Don't error on mixed units using/not using str_offsets 2019-05-25 00:07:22 +00:00
Demangle llvm-undname: Support demangling char8_t 2019-05-28 15:30:04 +00:00
ExecutionEngine [RuntimeDyld][ARM] Fix an incorrect assertion condition. 2019-05-27 21:34:31 +00:00
Fuzzer
FuzzMutate
IR [ValueTracking][ConstantRange] Distinguish low/high always overflow 2019-05-28 18:08:31 +00:00
IRReader
LineEditor
Linker [IRMover] Improve diagnostic messages for conflicting metadata 2019-05-16 05:23:13 +00:00
LTO [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
MC [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
MCA [MCA][Scheduler] Improved critical memory dependency computation. 2019-05-26 19:50:31 +00:00
Object [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
ObjectYAML [XCOFF] Implement parsing symbol table for xcoffobjfile and output as yaml format 2019-05-28 14:37:59 +00:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes [NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC]. 2019-05-23 21:52:59 +00:00
ProfileData Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
Remarks [Remarks] Add string deduplication using a string table 2019-04-24 00:06:24 +00:00
Support [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
TableGen TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
Target [AMDGPU] Correct the handling of inlineasm output registers. 2019-05-28 19:37:09 +00:00
Testing [Testing] Move clangd::Annotations to llvm testing support 2019-04-25 10:08:31 +00:00
TextAPI [TextAPI] Fix Symbol::dump which was failing to append the SymbolKind string. 2019-04-29 18:25:04 +00:00
ToolDrivers
Transforms [InstCombine] Clean up saturing math overflow optimizations; NFC 2019-05-28 18:59:21 +00:00
WindowsManifest
XRay Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +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