From 6f7532bb97a6beb1b2e0b3d7fd2f38d03ac2baf9 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Tue, 15 Jul 2014 23:01:10 +0000 Subject: [PATCH] X86: Simplify X86WindowsTargetObjectFile::getSectionForConstant There exists a helper function to abstract away the various differences between ConstantVector, ConstantDataVector, ConstantAggregateZero, etc. Use it to simplify X86WindowsTargetObjectFile::getSectionForConstant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213104 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86TargetObjectFile.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/Target/X86/X86TargetObjectFile.cpp b/lib/Target/X86/X86TargetObjectFile.cpp index 21ee047594b..f8bcd616e11 100644 --- a/lib/Target/X86/X86TargetObjectFile.cpp +++ b/lib/Target/X86/X86TargetObjectFile.cpp @@ -151,15 +151,9 @@ X86WindowsTargetObjectFile::getSectionForConstant(SectionKind Kind, uint64_t NumBits = VTy->getBitWidth(); if (NumBits == 128 || NumBits == 256) { COMDATSymName = NumBits == 128 ? "__xmm@" : "__ymm@"; - if (const auto *CDV = dyn_cast(C)) { - for (int I = CDV->getNumElements() - 1, E = -1; I != E; --I) - COMDATSymName += - scalarConstantToHexString(CDV->getElementAsConstant(I)); - } else { - const auto *CV = cast(C); - for (int I = CV->getNumOperands() - 1, E = -1; I != E; --I) - COMDATSymName += scalarConstantToHexString(CV->getOperand(I)); - } + for (int I = VTy->getNumElements() - 1, E = -1; I != E; --I) + COMDATSymName += + scalarConstantToHexString(C->getAggregateElement(I)); } } if (!COMDATSymName.empty()) {