summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-08-05 14:16:28 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-08-05 14:16:28 +0000
commit9aad599700f825707443fc0dce1f80a2a78bc3fb (patch)
treeb5a76eb46b362c8a9d1800d87d430029a978ec12 /llvm/lib/IR
parente7a00e326aeb825102c10d122a62468d83e38e29 (diff)
downloadbcm5719-llvm-9aad599700f825707443fc0dce1f80a2a78bc3fb.tar.gz
bcm5719-llvm-9aad599700f825707443fc0dce1f80a2a78bc3fb.zip
[IR] Simplify code with ArrayRef::copy. No functionality change.
llvm-svn: 244043
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r--llvm/lib/IR/Type.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index 2f6dbab7201..7f65e941f91 100644
--- a/llvm/lib/IR/Type.cpp
+++ b/llvm/lib/IR/Type.cpp
@@ -420,18 +420,14 @@ void StructType::setBody(ArrayRef<Type*> Elements, bool isPacked) {
if (isPacked)
setSubclassData(getSubclassData() | SCDB_Packed);
+ NumContainedTys = Elements.size();
+
if (Elements.empty()) {
ContainedTys = nullptr;
- NumContainedTys = 0;
return;
}
- unsigned NumElements = Elements.size();
- Type **Elts = getContext().pImpl->TypeAllocator.Allocate<Type*>(NumElements);
- memcpy(Elts, Elements.data(), sizeof(Elements[0]) * NumElements);
-
- ContainedTys = Elts;
- NumContainedTys = NumElements;
+ ContainedTys = Elements.copy(getContext().pImpl->TypeAllocator).data();
}
void StructType::setName(StringRef Name) {
OpenPOWER on IntegriCloud