[APInt] Keep the original bit width in quotient and remainder
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 19 Jul 2018 18:07:56 +0000 (18:07 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 19 Jul 2018 18:07:56 +0000 (18:07 +0000)
commit55a0dcee0718d7a6e6036dd65111ba60a65d34c4
treecb8ee3294b058dc966e850f5cfdf35c4a22fa938
parente9b3f58290b7e4022c988abe1569131ef3d0c944
[APInt] Keep the original bit width in quotient and remainder

Some trivial cases in udivrem were handled by directly assigning 0 or 1
to APInt objects. This would set the bit width to 1, instead of the bit
width of the inputs. A potentially undesirable side effect of that is
that with the bit width of 1, 1 equals -1.

Differential Revision: https://reviews.llvm.org/D49554

llvm-svn: 337478
llvm/lib/Support/APInt.cpp
llvm/unittests/ADT/APIntTest.cpp