From: Craig Topper Date: Fri, 7 Jul 2017 19:56:18 +0000 (+0000) Subject: [APInt] Add a fastpath for the single word case of isOneValue to match isNullValue... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=45f53414ad273da35b1182e6de9b694a7ff52cf0;p=platform%2Fupstream%2Fllvm.git [APInt] Add a fastpath for the single word case of isOneValue to match isNullValue, isAllOnesValue, etc. NFCI llvm-svn: 307430 --- diff --git a/llvm/include/llvm/ADT/APInt.h b/llvm/include/llvm/ADT/APInt.h index e5f0c35..a1cce6e 100644 --- a/llvm/include/llvm/ADT/APInt.h +++ b/llvm/include/llvm/ADT/APInt.h @@ -401,7 +401,11 @@ public: /// \brief Determine if this is a value of 1. /// /// This checks to see if the value of this APInt is one. - bool isOneValue() const { return getActiveBits() == 1; } + bool isOneValue() const { + if (isSingleWord()) + return U.VAL == 1; + return countLeadingZerosSlowCase() == BitWidth - 1; + } /// \brief Determine if this is the largest unsigned value. ///