diff options
-rw-r--r-- | include/llvm/Constants.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index de9730c096..e8d1460d8f 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -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. |