aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Target/TargetAsmInfo.h10
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfWriter.cpp4
-rw-r--r--lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp6
-rw-r--r--lib/Target/ARM/ARMTargetAsmInfo.cpp1
-rw-r--r--lib/Target/DarwinTargetAsmInfo.cpp2
-rw-r--r--lib/Target/ELFTargetAsmInfo.cpp3
-rw-r--r--lib/Target/TargetAsmInfo.cpp9
-rw-r--r--lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp2
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.cpp3
9 files changed, 17 insertions, 23 deletions
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index 6e019fd..99ae183 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -131,12 +131,11 @@ namespace llvm {
/// TextSection - Section directive for standard text.
///
- const Section *TextSection; // Defaults to ".text".
+ const Section *TextSection; // Defaults to ".text".
/// DataSection - Section directive for standard data.
///
- const char *DataSection; // Defaults to ".data".
- const Section *DataSection_;
+ const Section *DataSection; // Defaults to ".data".
/// BSSSection - Section directive for uninitialized data. Null if this
/// target doesn't support a BSS section.
@@ -601,12 +600,9 @@ namespace llvm {
const Section *getTextSection() const {
return TextSection;
}
- const char *getDataSection() const {
+ const Section *getDataSection() const {
return DataSection;
}
- const Section *getDataSection_() const {
- return DataSection_;
- }
const char *getBSSSection() const {
return BSSSection;
}
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
index 5d2581f..d45ab13 100644
--- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
@@ -2064,7 +2064,7 @@ private:
Asm->SwitchToSection(TAI->getTextSection());
EmitLabel("text_begin", 0);
- Asm->SwitchToDataSection(TAI->getDataSection());
+ Asm->SwitchToSection(TAI->getDataSection());
EmitLabel("data_begin", 0);
}
@@ -2750,7 +2750,7 @@ public:
// Standard sections final addresses.
Asm->SwitchToSection(TAI->getTextSection());
EmitLabel("text_end", 0);
- Asm->SwitchToDataSection(TAI->getDataSection());
+ Asm->SwitchToSection(TAI->getDataSection());
EmitLabel("data_end", 0);
// End text sections.
diff --git a/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp b/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
index 7f069f6..4e42df5 100644
--- a/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
@@ -65,7 +65,7 @@ void OcamlGCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
AP.SwitchToSection(TAI.getTextSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "code_begin");
- AP.SwitchToDataSection(TAI.getDataSection());
+ AP.SwitchToSection(TAI.getDataSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "data_begin");
}
@@ -100,13 +100,13 @@ void OcamlGCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
AP.SwitchToSection(TAI.getTextSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "code_end");
- AP.SwitchToDataSection(TAI.getDataSection());
+ AP.SwitchToSection(TAI.getDataSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "data_end");
OS << AddressDirective << 0; // FIXME: Why does ocaml emit this??
AP.EOL();
- AP.SwitchToDataSection(TAI.getDataSection());
+ AP.SwitchToSection(TAI.getDataSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "frametable");
for (iterator I = begin(), IE = end(); I != IE; ++I) {
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.cpp b/lib/Target/ARM/ARMTargetAsmInfo.cpp
index a1a00a2..d41f350 100644
--- a/lib/Target/ARM/ARMTargetAsmInfo.cpp
+++ b/lib/Target/ARM/ARMTargetAsmInfo.cpp
@@ -48,7 +48,6 @@ ARMTargetAsmInfo::ARMTargetAsmInfo(const ARMTargetMachine &TM) {
AlignmentIsInBytes = false;
Data64bitsDirective = 0;
CommentString = "@";
- DataSection = "\t.data";
ConstantPoolSection = "\t.text\n";
COMMDirectiveTakesAlignment = false;
InlineAsmStart = "@ InlineAsm Start";
diff --git a/lib/Target/DarwinTargetAsmInfo.cpp b/lib/Target/DarwinTargetAsmInfo.cpp
index a5b72e3..6a53b6b 100644
--- a/lib/Target/DarwinTargetAsmInfo.cpp
+++ b/lib/Target/DarwinTargetAsmInfo.cpp
@@ -90,7 +90,7 @@ DarwinTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
if (cast<GlobalVariable>(GV)->isConstant())
return (isWeak ? ConstDataCoalSection : ConstDataSection);
else
- return (isWeak ? DataCoalSection : getDataSection_());
+ return (isWeak ? DataCoalSection : getDataSection());
case SectionKind::ROData:
return (isWeak ? ConstDataCoalSection :
(isNonStatic ? ConstDataSection : getReadOnlySection_()));
diff --git a/lib/Target/ELFTargetAsmInfo.cpp b/lib/Target/ELFTargetAsmInfo.cpp
index 4529d01..df4e43d 100644
--- a/lib/Target/ELFTargetAsmInfo.cpp
+++ b/lib/Target/ELFTargetAsmInfo.cpp
@@ -27,7 +27,6 @@ using namespace llvm;
ELFTargetAsmInfo::ELFTargetAsmInfo(const TargetMachine &TM) {
ETM = &TM;
- DataSection_ = getUnnamedSection("\t.data", SectionFlags::Writeable);
BSSSection_ = getUnnamedSection("\t.bss",
SectionFlags::Writeable | SectionFlags::BSS);
ReadOnlySection_ = getNamedSection("\t.rodata", SectionFlags::None);
@@ -64,7 +63,7 @@ ELFTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
switch (Kind) {
case SectionKind::Data:
case SectionKind::SmallData:
- return getDataSection_();
+ return getDataSection();
case SectionKind::BSS:
case SectionKind::SmallBSS:
// ELF targets usually have BSS sections
diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp
index df54039..e963d71 100644
--- a/lib/Target/TargetAsmInfo.cpp
+++ b/lib/Target/TargetAsmInfo.cpp
@@ -27,8 +27,7 @@ using namespace llvm;
TargetAsmInfo::TargetAsmInfo() :
TextSection(0),
- DataSection("\t.data"),
- DataSection_(0),
+ DataSection(0),
BSSSection("\t.bss"),
BSSSection_(0),
ReadOnlySection(0),
@@ -126,7 +125,7 @@ TargetAsmInfo::TargetAsmInfo() :
DwarfExceptionSection(".gcc_except_table"),
AsmTransCBE(0) {
TextSection = getUnnamedSection("\t.text", SectionFlags::Code);
- DataSection_ = getUnnamedSection(DataSection);
+ DataSection = getUnnamedSection("\t.data", SectionFlags::Writeable);
}
TargetAsmInfo::~TargetAsmInfo() {
@@ -306,14 +305,14 @@ TargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
return getReadOnlySection_();
}
- return getDataSection_();
+ return getDataSection();
}
// Lame default implementation. Calculate the section name for machine const.
const Section*
TargetAsmInfo::SelectSectionForMachineConst(const Type *Ty) const {
// FIXME: Support data.rel stuff someday
- return getDataSection_();
+ return getDataSection();
}
std::string
diff --git a/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
index ec0bfeb..262e0f7 100644
--- a/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
+++ b/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
@@ -481,7 +481,7 @@ bool X86IntelAsmPrinter::doFinalization(Module &M) {
O << "\tpublic " << name << "\n";
// FALL THROUGH
case GlobalValue::InternalLinkage:
- SwitchToDataSection(TAI->getDataSection(), I);
+ SwitchToSection(TAI->getDataSection());
break;
default:
assert(0 && "Unknown linkage type!");
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 9f9e2ed..b31da8f 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -434,7 +434,8 @@ X86WinTargetAsmInfo::X86WinTargetAsmInfo(const X86TargetMachine &TM):
HasDotTypeDotSizeDirective = false;
TextSection = getUnnamedSection("_text", SectionFlags::Code);
- DataSection = "_data";
+ DataSection = getUnnamedSection("_data", SectionFlags::Writeable);
+
JumpTableDataSection = NULL;
SwitchToSectionDirective = "";
TextSectionStartSuffix = "\tsegment 'CODE'";