Make use of the exact bit when optimizing '(X >>exact 3) << 1' to eliminate the
authorNick Lewycky <nicholas@mxc.ca>
Sat, 31 Dec 2011 21:30:22 +0000 (21:30 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Sat, 31 Dec 2011 21:30:22 +0000 (21:30 +0000)
commit57ed0948b87206beadce58c406f95dda345fe62c
treee95da1dd00faad0505c7d755dc296857db0195bf
parentccc9a59614554bb91a932e64e64b9cc19e748442
Make use of the exact bit when optimizing '(X >>exact 3) << 1' to eliminate the
'and' that would zero out the trailing bits, and to produce an exact shift
ourselves.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147391 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineShifts.cpp
test/Transforms/InstCombine/shift.ll