diff --git a/lib/VMCore/ConstPoolVals.cpp b/lib/VMCore/ConstPoolVals.cpp index 019d66a0e70..d53130d6012 100644 --- a/lib/VMCore/ConstPoolVals.cpp +++ b/lib/VMCore/ConstPoolVals.cpp @@ -309,105 +309,3 @@ ConstPoolStruct *ConstPoolStruct::get(const StructType *Ty, StructConstants.add(Ty, V, Result = new ConstPoolStruct(Ty, V)); return Result; } - - - - -//===----------------------------------------------------------------------===// -// Extra Method implementations - - - - - - -// Convenience functions to get the value of an integer constant, for an -// appropriate integer or non-integer type that can be held in an integer. -// The type of the argument must be the following: -// GetSignedIntConstantValue: signed integer or bool -// GetUnsignedIntConstantValue: unsigned integer, bool, or pointer -// GetConstantValueAsSignedInt: any of the above, but the value -// must fit into a int64_t. -// -// isValidConstant is set to true if a valid constant was found. -// -int64_t -GetSignedIntConstantValue(const Value* val, bool& isValidConstant) -{ - int64_t intValue = 0; - isValidConstant = false; - - if (val->getValueType() == Value::ConstantVal) - { - switch(val->getType()->getPrimitiveID()) - { - case Type::BoolTyID: - intValue = ((ConstPoolBool*) val)->getValue()? 1 : 0; - isValidConstant = true; - break; - case Type::SByteTyID: - case Type::ShortTyID: - case Type::IntTyID: - case Type::LongTyID: - intValue = ((ConstPoolSInt*) val)->getValue(); - isValidConstant = true; - break; - default: - break; - } - } - - return intValue; -} - -uint64_t -GetUnsignedIntConstantValue(const Value* val, bool& isValidConstant) -{ - uint64_t intValue = 0; - isValidConstant = false; - - if (val->getValueType() == Value::ConstantVal) - { - switch(val->getType()->getPrimitiveID()) - { - case Type::BoolTyID: - intValue = ((ConstPoolBool*) val)->getValue()? 1 : 0; - isValidConstant = true; - break; - case Type::UByteTyID: - case Type::UShortTyID: - case Type::UIntTyID: - case Type::ULongTyID: - case Type::PointerTyID: - intValue = ((ConstPoolUInt*) val)->getValue(); - isValidConstant = true; - break; - default: - break; - } - } - - return intValue; -} - - -int64_t -GetConstantValueAsSignedInt(const Value* val, bool& isValidConstant) -{ - int64_t intValue = 0; - - if (val->getType()->isSigned()) - { - intValue = GetSignedIntConstantValue(val, isValidConstant); - } - else // non-numeric types will fall here - { - uint64_t uintValue = GetUnsignedIntConstantValue(val, isValidConstant); - if (isValidConstant && uintValue < INT64_MAX) // then safe to cast to signed - intValue = (int64_t) uintValue; - else - isValidConstant = false; - } - - return intValue; -}