Files
clang-p2996/llvm/test/Transforms/InstCombine
David Majnemer 4c3753c4d4 [InstCombine] Don't eagerly propagate nsw for A*B+A*C => A*(B+C)
InstCombine transforms A *nsw B +nsw A *nsw C to A *nsw (B + C).
This is incorrect -- e.g. if A = -1, B = 1, C = INT_SMAX. Then
nothing in the LHS overflows, but the multiplication in RHS overflows.

We need to first make sure that we won't multiple by INT_SMAX + 1.

Test case `add_of_mul` contributed by Sanjoy Das.

This fixes PR23635.

Differential Revision: http://reviews.llvm.org/D9629

llvm-svn: 238066
2015-05-22 23:02:11 +00:00
..
2014-06-02 21:23:54 +00:00
2014-05-27 16:54:33 +00:00
2014-01-22 22:32:58 +00:00
2014-03-06 05:32:52 +00:00
2014-11-04 05:17:58 +00:00
2014-10-21 23:00:20 +00:00
2015-01-06 23:00:33 +00:00
2014-07-09 17:49:58 +00:00
2014-06-02 22:01:04 +00:00
2014-06-02 22:01:04 +00:00
2015-05-11 05:33:27 +00:00
2015-04-03 20:56:24 +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.