Turn X-(X-Y) into Y. According to my auto-simplifier this is the most common
authorDuncan Sands <baldrick@free.fr>
Fri, 14 Jan 2011 15:26:10 +0000 (15:26 +0000)
committerDuncan Sands <baldrick@free.fr>
Fri, 14 Jan 2011 15:26:10 +0000 (15:26 +0000)
commitc087e20331c8a4c3b77d96a73588e80c06d89e3d
tree94ac52a66a86f73e2f0331a997aae1964ed3aacc
parentcf80bc1d4ac741620641c2bf48c25993bd478bd0
Turn X-(X-Y) into Y.  According to my auto-simplifier this is the most common
simplification present in fully optimized code (I think instcombine fails to
transform some of these when "X-Y" has more than one use).  Fires here and
there all over the test-suite, for example it eliminates 8 subtractions in
the final IR for 445.gobmk, 2 subs in 447.dealII, 2 in paq8p etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123442 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/InstructionSimplify.cpp
test/Transforms/InstSimplify/2010-12-20-Reassociate.ll