summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/DataLayout.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2013-07-26 17:37:20 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2013-07-26 17:37:20 +0000
commit6f4be90570e54ce89dc053c43918b39cf439dff9 (patch)
tree56d3e3825b60c69fde7f2ec7172fe88ed64f5130 /llvm/lib/IR/DataLayout.cpp
parent8ea2e40296a0cb143cb0b431a18a17aaee0100f3 (diff)
downloadbcm5719-llvm-6f4be90570e54ce89dc053c43918b39cf439dff9.tar.gz
bcm5719-llvm-6f4be90570e54ce89dc053c43918b39cf439dff9.zip
Re-add DataLayout pointer size convenience functions.
These were reverted in r167222 along with the rest of the last different address space pointer size attempt. These will be used in later commits. llvm-svn: 187223
Diffstat (limited to 'llvm/lib/IR/DataLayout.cpp')
-rw-r--r--llvm/lib/IR/DataLayout.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/IR/DataLayout.cpp b/llvm/lib/IR/DataLayout.cpp
index adb2d7a62ac..d1096d74242 100644
--- a/llvm/lib/IR/DataLayout.cpp
+++ b/llvm/lib/IR/DataLayout.cpp
@@ -507,6 +507,16 @@ std::string DataLayout::getStringRepresentation() const {
return OS.str();
}
+unsigned DataLayout::getPointerTypeSizeInBits(Type *Ty) const {
+ assert(Ty->isPtrOrPtrVectorTy() &&
+ "This should only be called with a pointer or pointer vector type");
+
+ if (Ty->isPointerTy())
+ return getTypeSizeInBits(Ty);
+
+ Type *EleTy = cast<VectorType>(Ty)->getElementType();
+ return getTypeSizeInBits(EleTy);
+}
/*!
\param abi_or_pref Flag that determines which alignment is returned. true
OpenPOWER on IntegriCloud