From 362fb29d80cad879e336e4d0ab37982efac4b089 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 19 Mar 2007 20:39:08 +0000 Subject: [PATCH] Allow ConstantInt::get(Ty, uint64_t) to interpret the 64-bit values as a negative number. This is needed to fix test/Assembler/2007-03-19-NegValue.ll llvm-svn: 35181 --- llvm/include/llvm/Constants.h | 2 +- llvm/lib/VMCore/Constants.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/include/llvm/Constants.h b/llvm/include/llvm/Constants.h index 988b53a284cc..c307356247ce 100644 --- a/llvm/include/llvm/Constants.h +++ b/llvm/include/llvm/Constants.h @@ -94,7 +94,7 @@ public: /// either getSExtValue() or getZExtValue() will yield a correctly sized and /// signed value for the type Ty. /// @brief Get a ConstantInt for a specific value. - static ConstantInt *get(const Type *Ty, uint64_t V); + static ConstantInt *get(const Type *Ty, uint64_t V, bool isSigned = false); /// Return a ConstantInt with the specified value and an implied Type. The /// type is the integer type that corresponds to the bit width of the value. diff --git a/llvm/lib/VMCore/Constants.cpp b/llvm/lib/VMCore/Constants.cpp index 1685923e4338..e5417f524564 100644 --- a/llvm/lib/VMCore/Constants.cpp +++ b/llvm/lib/VMCore/Constants.cpp @@ -203,9 +203,9 @@ typedef DenseMap IntMapTy; static ManagedStatic IntConstants; -ConstantInt *ConstantInt::get(const Type *Ty, uint64_t V) { +ConstantInt *ConstantInt::get(const Type *Ty, uint64_t V, bool isSigned) { const IntegerType *ITy = cast(Ty); - return get(APInt(ITy->getBitWidth(), V)); + return get(APInt(ITy->getBitWidth(), V, isSigned)); } // Get a ConstantInt from an APInt. Note that the value stored in the DenseMap