aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2008-09-24 22:17:06 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2008-09-24 22:17:06 +0000
commit36133dd324a0583979cb9e219306726428270096 (patch)
treec0a8e9253a991ea1b35b91b18ec794d9e7d98dec
parent0b501d157e893dd7d6edf765eab50534008c7c1d (diff)
downloadexternal_llvm-36133dd324a0583979cb9e219306726428270096.zip
external_llvm-36133dd324a0583979cb9e219306726428270096.tar.gz
external_llvm-36133dd324a0583979cb9e219306726428270096.tar.bz2
Get rid of duplicate char*/Section* stuff for TLS sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56577 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Target/TargetAsmInfo.h16
-rw-r--r--lib/Target/ARM/ARMTargetAsmInfo.cpp2
-rw-r--r--lib/Target/ELFTargetAsmInfo.cpp10
-rw-r--r--lib/Target/TargetAsmInfo.cpp6
4 files changed, 11 insertions, 23 deletions
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index 99ae183..e1484e5 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -166,14 +166,12 @@ namespace llvm {
/// TLSDataSection - Section directive for Thread Local data.
///
- const char *TLSDataSection;// Defaults to ".section .tdata,"awT",@progbits".
- const Section *TLSDataSection_;
+ const Section *TLSDataSection; // Defaults to ".tdata".
/// TLSBSSSection - Section directive for Thread Local uninitialized data.
/// Null if this target doesn't support a BSS section.
///
- const char *TLSBSSSection;// Default to ".section .tbss,"awT",@nobits".
- const Section *TLSBSSSection_;
+ const Section *TLSBSSSection; // Defaults to ".tbss".
/// ZeroFillDirective - Directive for emitting a global to the ZeroFill
/// section on this target. Null if this target doesn't support zerofill.
@@ -624,18 +622,12 @@ namespace llvm {
const Section *getSmallRODataSection() const {
return SmallRODataSection;
}
- const char *getTLSDataSection() const {
+ const Section *getTLSDataSection() const {
return TLSDataSection;
}
- const Section *getTLSDataSection_() const {
- return TLSDataSection_;
- }
- const char *getTLSBSSSection() const {
+ const Section *getTLSBSSSection() const {
return TLSBSSSection;
}
- const Section *getTLSBSSSection_() const {
- return TLSBSSSection_;
- }
const char *getZeroFillDirective() const {
return ZeroFillDirective;
}
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.cpp b/lib/Target/ARM/ARMTargetAsmInfo.cpp
index d41f350..3686da8 100644
--- a/lib/Target/ARM/ARMTargetAsmInfo.cpp
+++ b/lib/Target/ARM/ARMTargetAsmInfo.cpp
@@ -141,8 +141,6 @@ ARMELFTargetAsmInfo::ARMELFTargetAsmInfo(const ARMTargetMachine &TM):
StaticCtorsSection = "\t.section .ctors,\"aw\",%progbits";
StaticDtorsSection = "\t.section .dtors,\"aw\",%progbits";
}
- TLSDataSection = "\t.section .tdata,\"awT\",%progbits";
- TLSBSSSection = "\t.section .tbss,\"awT\",%nobits";
}
/// Count the number of comma-separated arguments.
diff --git a/lib/Target/ELFTargetAsmInfo.cpp b/lib/Target/ELFTargetAsmInfo.cpp
index 784d9cd..b9e9812 100644
--- a/lib/Target/ELFTargetAsmInfo.cpp
+++ b/lib/Target/ELFTargetAsmInfo.cpp
@@ -30,9 +30,9 @@ ELFTargetAsmInfo::ELFTargetAsmInfo(const TargetMachine &TM) {
BSSSection_ = getUnnamedSection("\t.bss",
SectionFlags::Writeable | SectionFlags::BSS);
ReadOnlySection_ = getNamedSection("\t.rodata", SectionFlags::None);
- TLSDataSection_ = getNamedSection("\t.tdata",
- SectionFlags::Writeable | SectionFlags::TLS);
- TLSBSSSection_ = getNamedSection("\t.tbss",
+ TLSDataSection = getNamedSection("\t.tdata",
+ SectionFlags::Writeable | SectionFlags::TLS);
+ TLSBSSSection = getNamedSection("\t.tbss",
SectionFlags::Writeable | SectionFlags::TLS | SectionFlags::BSS);
}
@@ -77,9 +77,9 @@ ELFTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
return MergeableConstSection(GVar);
case SectionKind::ThreadData:
// ELF targets usually support TLS stuff
- return getTLSDataSection_();
+ return TLSDataSection;
case SectionKind::ThreadBSS:
- return getTLSBSSSection_();
+ return TLSBSSSection;
default:
assert(0 && "Unsuported section kind for global");
}
diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp
index e963d71..d85e598 100644
--- a/lib/Target/TargetAsmInfo.cpp
+++ b/lib/Target/TargetAsmInfo.cpp
@@ -35,10 +35,8 @@ TargetAsmInfo::TargetAsmInfo() :
SmallDataSection(0),
SmallBSSSection(0),
SmallRODataSection(0),
- TLSDataSection("\t.section .tdata,\"awT\",@progbits"),
- TLSDataSection_(0),
- TLSBSSSection("\t.section .tbss,\"awT\",@nobits"),
- TLSBSSSection_(0),
+ TLSDataSection(0),
+ TLSBSSSection(0),
ZeroFillDirective(0),
NonexecutableStackDirective(0),
NeedsSet(false),