Fixed a bug in ConstantInt::Inverted().
authorZhou Sheng <zhousheng00@gmail.com>
Thu, 11 Jan 2007 14:31:10 +0000 (14:31 +0000)
committerZhou Sheng <zhousheng00@gmail.com>
Thu, 11 Jan 2007 14:31:10 +0000 (14:31 +0000)
Modified comment of that method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33074 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Constants.h

index de9730c096cd4e855f9e4d47944233a14efb2010..e8d1460d8f2d9157f57d9059e10d3d433425c576 100644 (file)
@@ -96,13 +96,13 @@ public:
   /// @brief Get a ConstantInt for a specific value.
   static ConstantInt *get(const Type *Ty, int64_t V);
 
-  /// Returns the opposite value of this ConstantInt value if it's a boolean 
-  /// constant.
+  /// Returns the opposite value of this ConstantInt. 
   /// @brief Get inverse value.
   inline ConstantInt *inverted() const {
     static ConstantInt *CI = 0;
     if (CI) return CI; 
-    return CI = new ConstantInt(getType(), Val ^ (-1));
+    return CI = new ConstantInt(getType(), 
+                                Val ^ (getType() == Type::BoolTy ? 1 : -1));
   }
 
   /// @returns the value of this ConstantInt only if it's a boolean type.