llvm-6502/lib/Transforms
Owen Anderson 26c5663283 Invert and-of-or into or-of-and when doing so would allow us to clear bits of the and's mask.
This can result in increased opportunities for store narrowing in code generation.  Update a number of
tests for this change.  This fixes <rdar://problem/8285027>.

Additionally, because this inverts the order of ors and ands, some patterns for optimizing or-of-and-of-or
no longer fire in instances where they did originally.  Add a simple transform which recaptures most of these
opportunities: if we have an or-of-constant-or and have failed to fold away the inner or, commute the order 
of the two ors, to give the non-constant or a chance for simplification instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113679 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11 05:48:06 +00:00
..
Hello Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
InstCombine Invert and-of-or into or-of-and when doing so would allow us to clear bits of the and's mask. 2010-09-11 05:48:06 +00:00
Instrumentation CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally. 2010-09-10 21:14:25 +00:00
IPO CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally. 2010-09-10 21:14:25 +00:00
Scalar typoes 2010-09-10 22:25:58 +00:00
Utils typoes 2010-09-10 22:25:58 +00:00
Makefile Revert r100896 and around - this breaks the only mingw32 buildbot we have. 2010-04-15 19:51:42 +00:00