[APInt] Simplify the zext and sext methods
authorCraig Topper <craig.topper@gmail.com>
Mon, 24 Apr 2017 17:37:10 +0000 (17:37 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 24 Apr 2017 17:37:10 +0000 (17:37 +0000)
commit1dec2811040cec45972dd926ccfa6f34c6f489b2
tree6722f51aa46add8d5395e9c91d5528e132df1842
parent0ab4f06bf11ab0d295f1d249f75a804b96fa2b2a
[APInt] Simplify the zext and sext methods

This replaces a hand written copy loop with a call to memcpy for both zext and sext.

For sext, it replaces multiple if/else blocks propagating sign information forward. Now we just do a copy, a sign extension on the last copied word, a memset, and clearUnusedBits.

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

llvm-svn: 301201
llvm/lib/Support/APInt.cpp