summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetObjectFile.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-07-15 23:01:10 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-07-15 23:01:10 +0000
commit3821ff03cd36c9f06664ba347ed4b484f1c697fe (patch)
tree6ddb3681d4a56b8f733268805028331e21750a82 /llvm/lib/Target/X86/X86TargetObjectFile.cpp
parenta2f658d69d71f5ab735a506f6437635df85865f9 (diff)
downloadbcm5719-llvm-3821ff03cd36c9f06664ba347ed4b484f1c697fe.tar.gz
bcm5719-llvm-3821ff03cd36c9f06664ba347ed4b484f1c697fe.zip
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. llvm-svn: 213104
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetObjectFile.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetObjectFile.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/X86TargetObjectFile.cpp b/llvm/lib/Target/X86/X86TargetObjectFile.cpp
index 21ee047594b..f8bcd616e11 100644
--- a/llvm/lib/Target/X86/X86TargetObjectFile.cpp
+++ b/llvm/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<ConstantDataVector>(C)) {
- for (int I = CDV->getNumElements() - 1, E = -1; I != E; --I)
- COMDATSymName +=
- scalarConstantToHexString(CDV->getElementAsConstant(I));
- } else {
- const auto *CV = cast<ConstantVector>(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()) {
OpenPOWER on IntegriCloud