Changes in directory llvm/lib/VMCore:
Constants.cpp updated: 1.215 -> 1.216 --- Log message: Clean up the internals of the ConstantInt machinery --- Diffs of the changes: (+6 -9) Constants.cpp | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) Index: llvm/lib/VMCore/Constants.cpp diff -u llvm/lib/VMCore/Constants.cpp:1.215 llvm/lib/VMCore/Constants.cpp:1.216 --- llvm/lib/VMCore/Constants.cpp:1.215 Mon Feb 19 23:46:39 2007 +++ llvm/lib/VMCore/Constants.cpp Mon Feb 19 23:55:46 2007 @@ -140,12 +140,8 @@ //===----------------------------------------------------------------------===// // Normal Constructors -ConstantInt::ConstantInt(bool V) - : Constant(Type::Int1Ty, ConstantIntVal, 0, 0), Val(uint64_t(V)) { -} - -ConstantInt::ConstantInt(const Type *Ty, uint64_t V) - : Constant(Ty, ConstantIntVal, 0, 0), Val(Ty == Type::Int1Ty ? bool(V) : V) { +ConstantInt::ConstantInt(const IntegerType *Ty, uint64_t V) + : Constant(Ty, ConstantIntVal, 0, 0), Val(V) { } ConstantFP::ConstantFP(const Type *Ty, double V) @@ -802,7 +798,7 @@ //---- ConstantInt::get() implementations... // -static ManagedStatic<ValueMap<uint64_t, Type, ConstantInt> > IntConstants; +static ManagedStatic<ValueMap<uint64_t, IntegerType, ConstantInt> >IntConstants; // Get a ConstantInt from an int64_t. Note here that we canoncialize the value // to a uint64_t value that has been zero extended down to the size of the @@ -810,12 +806,13 @@ // just return the stored value while getSExtValue has to convert back to sign // extended. getZExtValue is more common in LLVM than getSExtValue(). ConstantInt *ConstantInt::get(const Type *Ty, int64_t V) { - if (Ty == Type::Int1Ty) + const IntegerType *ITy = cast<IntegerType>(Ty); + if (Ty == Type::Int1Ty) if (V & 1) return getTrue(); else return getFalse(); - return IntConstants->getOrCreate(Ty, V & cast<IntegerType>(Ty)->getBitMask()); + return IntConstants->getOrCreate(ITy, V & ITy->getBitMask()); } //---- ConstantFP::get() implementation... _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits