Duncan Sands 5057f38141 Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in a
fairly systematic way in instcombine.  Some of these cases were already dealt
with, in which case I removed the existing code.  The case of Add has a bunch of
funky logic which covers some of this plus a few variants (considers shifts to be
a form of multiplication), which I didn't touch.  The simplification performed is:
A*B+A*C -> A*(B+C).  The improvement is to do this in cases that were not already
handled [such as A*B-A*C -> A*(B-C), which was reported on the mailing list], and
also to do it more often by not checking for "only one use" if "B+C" simplifies.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120024 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 14:23:47 +00:00
..
2009-09-27 06:25:05 +00:00
2010-02-17 00:54:58 +00:00
2010-01-18 22:00:46 +00:00
2010-01-05 21:54:09 +00:00
2010-07-12 00:19:47 +00:00
2009-09-16 16:33:59 +00:00
2009-12-02 05:34:35 +00:00
2010-08-27 23:15:21 +00:00
2010-09-02 22:38:56 +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.