Changes in directory llvm/lib/Support:
APInt.cpp updated: 1.61 -> 1.62 --- Log message: Add methods for bit width modification: sextOrTrunc, zextOrTrunc. --- Diffs of the changes: (+16 -0) APInt.cpp | 16 ++++++++++++++++ 1 files changed, 16 insertions(+) Index: llvm/lib/Support/APInt.cpp diff -u llvm/lib/Support/APInt.cpp:1.61 llvm/lib/Support/APInt.cpp:1.62 --- llvm/lib/Support/APInt.cpp:1.61 Thu Mar 1 00:23:32 2007 +++ llvm/lib/Support/APInt.cpp Thu Mar 1 11:15:32 2007 @@ -985,6 +985,22 @@ return *this; } +APInt &APInt::zextOrTrunc(uint32_t width) { + if (BitWidth < width) + return zext(width); + if (BitWidth > width) + return trunc(width); + return *this; +} + +APInt &APInt::sextOrTrunc(uint32_t width) { + if (BitWidth < width) + return sext(width); + if (BitWidth > width) + return trunc(width); + return *this; +} + /// Arithmetic right-shift this APInt by shiftAmt. /// @brief Arithmetic right-shift function. APInt APInt::ashr(uint32_t shiftAmt) const { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits