From: Chris Lattner Date: Fri, 7 Sep 2001 18:00:19 +0000 (+0000) Subject: Moved functionality into the other constant pool stuff X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a361ba2ca0b47d8180f28fd9b8db596ad0feaf36;p=oota-llvm.git Moved functionality into the other constant pool stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@477 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/ConstPoolVals.cpp b/lib/VMCore/ConstPoolVals.cpp deleted file mode 100644 index f778a3716c7..00000000000 --- a/lib/VMCore/ConstPoolVals.cpp +++ /dev/null @@ -1,108 +0,0 @@ -//===-- llvm/ConstPoolVals.cpp - Implement Constant Value nodes -*- C++ -*--=// -// -// This file implements the ConstPoolVal class and associated functions. -// -//===---------------------------------------------------------------------===// - -#include "llvm/Type.h" -#include "llvm/Value.h" -#include "llvm/ConstPoolVals.h" - - -//===-------------------------------------------------------------------------- -// External functions -// - -// 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; -} - -//===--------------------------------------------------------------------------