llvm-project/llvm/lib/Transforms/InstCombine
Craig Topper cff357c322 [InstCombine][KnownBits] Use KnownBits better to detect nsw adds
Change checkRippleForAdd from a heuristic to a full check -
if it is provable that the add does not overflow return true, otherwise false.

Patch by Yoav Ben-Shalom

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

llvm-svn: 302093
2017-05-03 23:22:46 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
InstCombineAddSub.cpp [InstCombine][KnownBits] Use KnownBits better to detect nsw adds 2017-05-03 23:22:46 +00:00
InstCombineAndOrXor.cpp [InstCombine] don't use DeMorgan's Law on integer constants (2nd try) 2017-05-02 15:31:40 +00:00
InstCombineCalls.cpp [IR] Abstract away ArgNo+1 attribute indexing as much as possible 2017-05-03 18:17:31 +00:00
InstCombineCasts.cpp [ValueTracking] Introduce a KnownBits struct to wrap the two APInts for computeKnownBits 2017-04-26 16:39:58 +00:00
InstCombineCompares.cpp [APInt] Add clearSignBit method. Use it and setSignBit in a few places. NFCI 2017-04-28 16:58:05 +00:00
InstCombineInternal.h InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, DominatorTree, TargetLibraryInfo everywhere. 2017-04-26 20:56:07 +00:00
InstCombineLoadStoreAlloca.cpp [InstCombine] Reduce visitLoadInst() code duplication. NFCI. 2017-04-19 17:26:57 +00:00
InstCombineMulDivRem.cpp InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, DominatorTree, TargetLibraryInfo everywhere. 2017-04-26 20:56:07 +00:00
InstCombinePHI.cpp InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, DominatorTree, TargetLibraryInfo everywhere. 2017-04-26 20:56:07 +00:00
InstCombineSelect.cpp InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, DominatorTree, TargetLibraryInfo everywhere. 2017-04-26 20:56:07 +00:00
InstCombineShifts.cpp InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, DominatorTree, TargetLibraryInfo everywhere. 2017-04-26 20:56:07 +00:00
InstCombineSimplifyDemanded.cpp [KnownBits] Add zext, sext, and trunc methods to KnownBits 2017-05-03 22:07:25 +00:00
InstCombineVectorOps.cpp InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, DominatorTree, TargetLibraryInfo everywhere. 2017-04-26 20:56:07 +00:00
InstructionCombining.cpp [KnownBits] Add methods for determining if KnownBits is a constant value 2017-05-03 23:12:29 +00:00
LLVMBuild.txt