From edece785500ed4420ab6d5052c76c392487f3f88 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Mon, 29 Oct 2012 14:30:05 +0000 Subject: Factorize code: rather than duplication the logic in getPointerTypeSizeInBits, just call getPointerTypeSizeInBits. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166926 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/DataLayout.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'lib/VMCore') diff --git a/lib/VMCore/DataLayout.cpp b/lib/VMCore/DataLayout.cpp index 104e5da057..b847492719 100644 --- a/lib/VMCore/DataLayout.cpp +++ b/lib/VMCore/DataLayout.cpp @@ -678,20 +678,8 @@ IntegerType *DataLayout::getIntPtrType(LLVMContext &C, /// getIntPtrType - Return an integer type that is the same size or /// greater to the pointer size of the specific PointerType. IntegerType *DataLayout::getIntPtrType(Type *Ty) const { - LLVMContext &C = Ty->getContext(); - // For pointers, we return the size for the specific address space. - if (Ty->isPointerTy()) return IntegerType::get(C, getTypeSizeInBits(Ty)); - // For vector of pointers, we return the size of the address space - // of the pointer type. - if (Ty->isVectorTy() && cast(Ty)->getElementType()->isPointerTy()) - return IntegerType::get(C, - getTypeSizeInBits(cast(Ty)->getElementType())); - // Otherwise return the address space for the default address space. - // An example of this occuring is that you want to get the IntPtr - // for all of the arguments in a function. However, the IntPtr - // for a non-pointer type cannot be determined by the type, so - // the default value is used. - return getIntPtrType(C, 0); + unsigned NumBits = getPointerTypeSizeInBits(Ty); + return IntegerType::get(Ty->getContext(), NumBits); } -- cgit v1.2.3