From a1f00f4d488eb5daff52faaf99c62ee652fd3b85 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 25 Jan 2012 06:48:06 +0000 Subject: use Constant::getAggregateElement to simplify a bunch of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148934 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Linker/LinkModules.cpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'lib/Linker/LinkModules.cpp') diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 563aed5daa..60fa9a76e2 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -844,21 +844,10 @@ bool ModuleLinker::linkAliasProto(GlobalAlias *SGA) { } static void getArrayElements(Constant *C, SmallVectorImpl &Dest) { - if (ConstantArray *I = dyn_cast(C)) { - for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) - Dest.push_back(I->getOperand(i)); - return; - } - - if (ConstantDataSequential *CDS = dyn_cast(C)) { - for (unsigned i = 0, e = CDS->getNumElements(); i != e; ++i) - Dest.push_back(CDS->getElementAsConstant(i)); - return; - } - - ConstantAggregateZero *CAZ = cast(C); - Dest.append(cast(C->getType())->getNumElements(), - CAZ->getSequentialElement()); + unsigned NumElements = cast(C->getType())->getNumElements(); + + for (unsigned i = 0; i != NumElements; ++i) + Dest.push_back(C->getAggregateElement(i)); } void ModuleLinker::linkAppendingVarInit(const AppendingVarInfo &AVI) { -- cgit v1.2.3-70-g09d2