Get rid of duplicate char*/Section* stuff for TLS sections

llvm-svn: 56577
This commit is contained in:
Anton Korobeynikov 2008-09-24 22:17:06 +00:00
parent 1f365bbf55
commit 22db30548d
4 changed files with 11 additions and 23 deletions

View File

@ -166,14 +166,12 @@ namespace llvm {
/// TLSDataSection - Section directive for Thread Local data. /// TLSDataSection - Section directive for Thread Local data.
/// ///
const char *TLSDataSection;// Defaults to ".section .tdata,"awT",@progbits". const Section *TLSDataSection; // Defaults to ".tdata".
const Section *TLSDataSection_;
/// TLSBSSSection - Section directive for Thread Local uninitialized data. /// TLSBSSSection - Section directive for Thread Local uninitialized data.
/// Null if this target doesn't support a BSS section. /// Null if this target doesn't support a BSS section.
/// ///
const char *TLSBSSSection;// Default to ".section .tbss,"awT",@nobits". const Section *TLSBSSSection; // Defaults to ".tbss".
const Section *TLSBSSSection_;
/// ZeroFillDirective - Directive for emitting a global to the ZeroFill /// ZeroFillDirective - Directive for emitting a global to the ZeroFill
/// section on this target. Null if this target doesn't support zerofill. /// section on this target. Null if this target doesn't support zerofill.
@ -624,18 +622,12 @@ namespace llvm {
const Section *getSmallRODataSection() const { const Section *getSmallRODataSection() const {
return SmallRODataSection; return SmallRODataSection;
} }
const char *getTLSDataSection() const { const Section *getTLSDataSection() const {
return TLSDataSection; return TLSDataSection;
} }
const Section *getTLSDataSection_() const { const Section *getTLSBSSSection() const {
return TLSDataSection_;
}
const char *getTLSBSSSection() const {
return TLSBSSSection; return TLSBSSSection;
} }
const Section *getTLSBSSSection_() const {
return TLSBSSSection_;
}
const char *getZeroFillDirective() const { const char *getZeroFillDirective() const {
return ZeroFillDirective; return ZeroFillDirective;
} }

View File

@ -141,8 +141,6 @@ ARMELFTargetAsmInfo::ARMELFTargetAsmInfo(const ARMTargetMachine &TM):
StaticCtorsSection = "\t.section .ctors,\"aw\",%progbits"; StaticCtorsSection = "\t.section .ctors,\"aw\",%progbits";
StaticDtorsSection = "\t.section .dtors,\"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. /// Count the number of comma-separated arguments.

View File

@ -30,9 +30,9 @@ ELFTargetAsmInfo::ELFTargetAsmInfo(const TargetMachine &TM) {
BSSSection_ = getUnnamedSection("\t.bss", BSSSection_ = getUnnamedSection("\t.bss",
SectionFlags::Writeable | SectionFlags::BSS); SectionFlags::Writeable | SectionFlags::BSS);
ReadOnlySection_ = getNamedSection("\t.rodata", SectionFlags::None); ReadOnlySection_ = getNamedSection("\t.rodata", SectionFlags::None);
TLSDataSection_ = getNamedSection("\t.tdata", TLSDataSection = getNamedSection("\t.tdata",
SectionFlags::Writeable | SectionFlags::TLS); SectionFlags::Writeable | SectionFlags::TLS);
TLSBSSSection_ = getNamedSection("\t.tbss", TLSBSSSection = getNamedSection("\t.tbss",
SectionFlags::Writeable | SectionFlags::TLS | SectionFlags::BSS); SectionFlags::Writeable | SectionFlags::TLS | SectionFlags::BSS);
} }
@ -77,9 +77,9 @@ ELFTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
return MergeableConstSection(GVar); return MergeableConstSection(GVar);
case SectionKind::ThreadData: case SectionKind::ThreadData:
// ELF targets usually support TLS stuff // ELF targets usually support TLS stuff
return getTLSDataSection_(); return TLSDataSection;
case SectionKind::ThreadBSS: case SectionKind::ThreadBSS:
return getTLSBSSSection_(); return TLSBSSSection;
default: default:
assert(0 && "Unsuported section kind for global"); assert(0 && "Unsuported section kind for global");
} }

View File

@ -35,10 +35,8 @@ TargetAsmInfo::TargetAsmInfo() :
SmallDataSection(0), SmallDataSection(0),
SmallBSSSection(0), SmallBSSSection(0),
SmallRODataSection(0), SmallRODataSection(0),
TLSDataSection("\t.section .tdata,\"awT\",@progbits"), TLSDataSection(0),
TLSDataSection_(0), TLSBSSSection(0),
TLSBSSSection("\t.section .tbss,\"awT\",@nobits"),
TLSBSSSection_(0),
ZeroFillDirective(0), ZeroFillDirective(0),
NonexecutableStackDirective(0), NonexecutableStackDirective(0),
NeedsSet(false), NeedsSet(false),