llvm-project/llvm/lib/Transforms
Nikita Popov 0c5d6ccbfc [InstCombine] Support ssub.sat canonicalization for non-splats
Extend ssub.sat(X, C) -> sadd.sat(X, -C) canonicalization to also
support non-splat vector constants. This is done by generalizing
the implementation of the isNotMinSignedValue() helper to return
true for constants that are non-splat, but don't contain any
signed min elements.

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

llvm-svn: 348072
2018-12-01 10:58:34 +00:00
..
AggressiveInstCombine [Aggressive InstCombine] Move C bindings to their own header file. 2018-09-05 11:41:12 +00:00
Coroutines [TI removal] Make `getTerminator()` return a generic `Instruction`. 2018-10-15 10:42:50 +00:00
Hello
IPO [ThinLTO] Import local variables from the same module as caller 2018-11-29 17:02:42 +00:00
InstCombine [InstCombine] Support ssub.sat canonicalization for non-splats 2018-12-01 10:58:34 +00:00
Instrumentation [ProfileSummary] Standardize methods and fix comment 2018-11-19 05:23:16 +00:00
ObjCARC [TI removal] Switch ObjCARC code to directly use the nice range-based 2018-10-18 00:38:34 +00:00
Scalar [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783 2018-11-30 10:06:23 +00:00
Utils [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
Vectorize [SLP]PR39774: Update references of the replaced external instructions. 2018-11-30 15:14:20 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00