llvm/lib/Transforms
David Green 2c4ca6832f [InstCombine] Signed saturation patterns
This adds an instcombine matcher for code that attempts to perform signed
saturating arithmetic by casting to a higher type. Unsigned cases are already
matched, this adds extra matches for the more complex signed cases, which
involves matching the min(max(add a b)) nodes with proper extends to ensure
legality.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375505 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-22 15:39:47 +00:00
..
AggressiveInstCombine [InstCombine] recognize popcount. 2019-10-11 05:13:56 +00:00
Coroutines [Alignment][NFC] Remove AllocaInst::setAlignment(unsigned) 2019-09-30 13:34:44 +00:00
Hello Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstCombine [InstCombine] Signed saturation patterns 2019-10-22 15:39:47 +00:00
Instrumentation [Alignment][NFC] Remove dependency on GlobalObject::setAlignment(unsigned) 2019-10-15 11:24:36 +00:00
IPO [ThinLTO] Add code comment. NFC 2019-10-22 12:57:23 +00:00
ObjCARC [ObjC][ARC] Skip debug instructions when computing the insert point of 2019-09-19 20:58:51 +00:00
Scalar [Alignment][NFC] Convert StoreInst to MaybeAlign 2019-10-22 12:55:32 +00:00
Utils Prune Pass.h include from DataLayout.h. NFCI 2019-10-21 17:51:54 +00:00
Vectorize [Alignment][NFC] Instructions::getLoadStoreAlignment 2019-10-21 14:49:28 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00