llvm-project/llvm/lib/Transforms/InstCombine
Erik Eckstein a451b9b0b5 Strength reduce intrinsics with overflow into regular arithmetic operations if possible.
Some intrinsics, like s/uadd.with.overflow and umul.with.overflow, are already strength reduced.
This change adds other arithmetic intrinsics: s/usub.with.overflow, smul.with.overflow.
It completes the work on PR20194.

llvm-svn: 224417
2014-12-17 07:29:19 +00:00
..
CMakeLists.txt Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombine.h Strength reduce intrinsics with overflow into regular arithmetic operations if possible. 2014-12-17 07:29:19 +00:00
InstCombineAddSub.cpp Strength reduce intrinsics with overflow into regular arithmetic operations if possible. 2014-12-17 07:29:19 +00:00
InstCombineAndOrXor.cpp [InstCombine] Minor optimization for bswap with binary ops 2014-12-04 09:44:01 +00:00
InstCombineCalls.cpp Strength reduce intrinsics with overflow into regular arithmetic operations if possible. 2014-12-17 07:29:19 +00:00
InstCombineCasts.cpp More code format fix from r224133, NFC 2014-12-12 18:48:37 +00:00
InstCombineCompares.cpp Removed extra line from a comment to test first commit. NFC. 2014-11-28 10:38:18 +00:00
InstCombineLoadStoreAlloca.cpp Revert r223764 which taught instcombine about integer-based elment extraction 2014-12-09 19:21:16 +00:00
InstCombineMulDivRem.cpp InstCombine: Don't create an unused instruction 2014-11-24 16:41:13 +00:00
InstCombinePHI.cpp Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
InstCombineSelect.cpp InstCombine: Restore optimizations lost in r210006 2014-11-27 07:25:21 +00:00
InstCombineShifts.cpp Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.) 2014-09-07 18:57:58 +00:00
InstCombineSimplifyDemanded.cpp Add additional patterns for @llvm.assume in ValueTracking 2014-09-07 19:21:07 +00:00
InstCombineVectorOps.cpp fixed some typos 2014-07-07 22:13:58 +00:00
InstCombineWorklist.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
InstructionCombining.cpp InstCombine: Don't assume DataLayout is always available 2014-11-24 07:26:20 +00:00
LLVMBuild.txt
Makefile