aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhou Sheng <zhousheng00@gmail.com>2007-03-13 06:16:26 +0000
committerZhou Sheng <zhousheng00@gmail.com>2007-03-13 06:16:26 +0000
commitb991dfeae75fba839150a21272a2aa875ec3945f (patch)
treed7d9b58ad38c7f2bdef0f708a7537bb9bae15513
parent771dbf7677008985897f68e56aacb4eca7d50f9d (diff)
Add zextOrCopy() into APInt for convenience.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35079 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/ADT/APInt.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h
index 5c8e0ee553..3d479da4b8 100644
--- a/include/llvm/ADT/APInt.h
+++ b/include/llvm/ADT/APInt.h
@@ -450,6 +450,15 @@ public:
/// @brief Zero extend or truncate to width
APInt &zextOrTrunc(uint32_t width);
+ /// This is a help function for convenience. If the given \p width equals to
+ /// this APInt's BitWidth, just return this APInt, otherwise, just zero
+ /// extend it.
+ inline APInt &zextOrCopy(uint32_t width) {
+ if (width == BitWidth)
+ return *this;
+ return zext(width);
+ }
+
/// @brief Set every bit to 1.
APInt& set();