diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-03-01 19:30:34 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-03-01 19:30:34 +0000 |
commit | 0050c737c549b89f5df6743dc81646a3b7f4a94f (patch) | |
tree | f5dab0bf1adfa7df84e7bd49040862a6f2c47fac /lib/VMCore/Constants.cpp | |
parent | 4e1e87f09ce284ef9e981d86a72fde2f99c70c10 (diff) | |
download | external_llvm-0050c737c549b89f5df6743dc81646a3b7f4a94f.zip external_llvm-0050c737c549b89f5df6743dc81646a3b7f4a94f.tar.gz external_llvm-0050c737c549b89f5df6743dc81646a3b7f4a94f.tar.bz2 |
Drop the ConstantInt(const Type&, const APInt&) constructor. It is
redundant and more verbose than the ConstantInt(const APInt&) constructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34792 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Constants.cpp')
-rw-r--r-- | lib/VMCore/Constants.cpp | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 29f0963..9d9cc5a 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -115,7 +115,7 @@ Constant *Constant::getNullValue(const Type *Ty) { // Static constructor to create an integral constant with all bits set ConstantInt *ConstantInt::getAllOnesValue(const Type *Ty) { if (const IntegerType* ITy = dyn_cast<IntegerType>(Ty)) - return ConstantInt::get(Ty, APInt::getAllOnesValue(ITy->getBitWidth())); + return ConstantInt::get(APInt::getAllOnesValue(ITy->getBitWidth())); return 0; } @@ -192,22 +192,21 @@ typedef DenseMap<DenseMapAPIntKeyInfo::KeyTy, ConstantInt*, DenseMapAPIntKeyInfo> IntMapTy; static ManagedStatic<IntMapTy> IntConstants; -ConstantInt *ConstantInt::get(const Type *Ty, int64_t V) { +ConstantInt *ConstantInt::get(const Type *Ty, uint64_t V) { const IntegerType *ITy = cast<IntegerType>(Ty); - APInt Tmp(ITy->getBitWidth(), V); - return get(Ty, Tmp); + return get(APInt(ITy->getBitWidth(), V)); } -// Get a ConstantInt from a Type and APInt. Note that the value stored in -// the DenseMap as the key is a DensMapAPIntKeyInfo::KeyTy which has provided +// Get a ConstantInt from an APInt. Note that the value stored in the DenseMap +// as the key, is a DensMapAPIntKeyInfo::KeyTy which has provided the // operator== and operator!= to ensure that the DenseMap doesn't attempt to // compare APInt's of different widths, which would violate an APInt class // invariant which generates an assertion. -ConstantInt *ConstantInt::get(const Type *Ty, const APInt& V) { - const IntegerType *ITy = cast<IntegerType>(Ty); - assert(ITy->getBitWidth() == V.getBitWidth() && "Invalid type for constant"); +ConstantInt *ConstantInt::get(const APInt& V) { + // Get the corresponding integer type for the bit width of the value. + const IntegerType *ITy = IntegerType::get(V.getBitWidth()); // get an existing value or the insertion position - DenseMapAPIntKeyInfo::KeyTy Key(V, Ty); + DenseMapAPIntKeyInfo::KeyTy Key(V, ITy); ConstantInt *&Slot = (*IntConstants)[Key]; // if it exists, return it. if (Slot) @@ -216,10 +215,6 @@ ConstantInt *ConstantInt::get(const Type *Ty, const APInt& V) { return Slot = new ConstantInt(ITy, V); } -ConstantInt *ConstantInt::get(const APInt &V) { - return ConstantInt::get(IntegerType::get(V.getBitWidth()), V); -} - //===----------------------------------------------------------------------===// // ConstantFP //===----------------------------------------------------------------------===// |