diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-08-05 14:16:28 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-08-05 14:16:28 +0000 |
commit | 9aad599700f825707443fc0dce1f80a2a78bc3fb (patch) | |
tree | b5a76eb46b362c8a9d1800d87d430029a978ec12 /llvm/lib/IR | |
parent | e7a00e326aeb825102c10d122a62468d83e38e29 (diff) | |
download | bcm5719-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.cpp | 10 |
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) { |