llvm-6502/lib/Transforms
David Majnemer 9043f74acb InstCombine, InstSimplify: (%X /s C1) /s C2 isn't always 0 when C1 * C2 overflow
consider:
C1 = INT_MIN
C2 = -1

C1 * C2 overflows without a doubt but consider the following:
%x = i32 INT_MIN

This means that (%X /s C1) is 1 and (%X /s C1) /s C2 is -1.

N. B.  Move the unsigned version of this transform to InstSimplify, it
doesn't create any new instructions.

This fixes PR21243.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219567 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-11 10:20:01 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine InstCombine, InstSimplify: (%X /s C1) /s C2 isn't always 0 when C1 * C2 overflow 2014-10-11 10:20:01 +00:00
Instrumentation Use triple's isiOS() and isOSDarwin() methods. 2014-10-09 05:43:30 +00:00
IPO Inliner: Non-local functions in COMDATs shouldn't be dropped 2014-10-08 19:32:32 +00:00
ObjCARC Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 05:25:25 +00:00
Scalar [SCEV] Add some asserts to the recently improved trip count computation 2014-10-11 00:12:11 +00:00
Utils SimplifyCFG: Don't convert phis into selects if we could remove undef behavior 2014-10-10 01:27:02 +00:00
Vectorize [SCEV] Fix one more caller blindly passing the latch to SCEV's 2014-10-11 05:28:30 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00