From: Chris Lattner Date: Fri, 8 Apr 2005 21:31:29 +0000 (+0000) Subject: fix this method for 64-bit constants X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2bffad3eebff7997599d12c17248ae580ba17cb8;p=oota-llvm.git fix this method for 64-bit constants git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21158 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 6d5d26223f0..adb85f0e963 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -605,7 +605,9 @@ public: bool isNullValue() const { return Value == 0; } bool isAllOnesValue() const { - return Value == (1ULL << MVT::getSizeInBits(getValueType(0)))-1; + int NumBits = MVT::getSizeInBits(getValueType(0)); + if (NumBits == 64) return Value+1 == 0; + return Value == (1ULL << NumBits)-1; } static bool classof(const ConstantSDNode *) { return true; }