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
..
2013-08-28 23:04:41 +00:00
2012-02-29 01:53:13 +00:00
2014-06-02 21:23:54 +00:00
2013-07-09 07:50:59 +00:00
2013-08-28 23:04:41 +00:00
2014-05-27 16:54:33 +00:00
2013-11-15 01:34:59 +00:00
2014-01-22 22:32:58 +00:00
2014-03-06 05:32:52 +00:00
2013-07-09 22:01:22 +00:00
2014-02-26 19:51:08 +00:00
2014-07-15 00:07:27 +00:00
2013-02-16 23:41:36 +00:00
2014-07-09 17:49:58 +00:00
2014-02-26 22:29:11 +00:00
2014-06-02 22:01:04 +00:00
2014-06-02 22:01:04 +00:00
2014-03-29 10:18:08 +00:00
2014-02-26 22:29:11 +00:00
2013-08-28 23:04:41 +00:00
2013-08-28 23:04:41 +00:00
2013-03-28 19:34:14 +00:00
2014-06-02 22:01:04 +00:00

This directory contains test cases for the instcombine transformation.  The
dated tests are actual bug tests, whereas the named tests are used to test
for features that the this pass should be capable of performing.