aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-19 05:23:59 +0000
committerChris Lattner <sabre@nondot.org>2010-01-19 05:23:59 +0000
commit07c2bc04f96ddb31d7b22cd7e3d13a18edcb4cd6 (patch)
tree8d440ad7e8d256c3fcca0ed03dd5d9722bfecd65
parent41eb8b47717e1fe1a6d0e99ec1b4e890091f77aa (diff)
simplify the mips target to print .size and .type for c strings
just like all other elf targets. Bruno, if this isn't right, please let me know + why :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93856 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp b/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
index c254932e96..2a78de0e52 100644
--- a/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
+++ b/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
@@ -438,8 +438,6 @@ void MipsAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
Constant *C = GVar->getInitializer();
const Type *CTy = C->getType();
unsigned Size = TD->getTypeAllocSize(CTy);
- const ConstantArray *CVA = dyn_cast<ConstantArray>(C);
- bool printSizeAndType = true;
// A data structure or array is aligned in memory to the largest
// alignment boundary required by any data type inside it (this matches
@@ -494,9 +492,7 @@ void MipsAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
case GlobalValue::PrivateLinkage:
case GlobalValue::LinkerPrivateLinkage:
case GlobalValue::InternalLinkage:
- if (CVA && CVA->isCString())
- printSizeAndType = false;
- break;
+ break;
case GlobalValue::GhostLinkage:
llvm_unreachable("Should not have any unmaterialized functions!");
case GlobalValue::DLLImportLinkage:
@@ -509,7 +505,7 @@ void MipsAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
EmitAlignment(Align, GVar);
- if (MAI->hasDotTypeDotSizeDirective() && printSizeAndType) {
+ if (MAI->hasDotTypeDotSizeDirective()) {
O << "\t.type " << *GVarSym << ",@object\n";
O << "\t.size " << *GVarSym << ',' << Size << '\n';
}