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
This commit is contained in:
Anton Korobeynikov 2008-09-24 22:17:06 +00:00
parent 0b501d157e
commit 36133dd324
4 changed files with 11 additions and 23 deletions

View File

@ -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;
}

View File

@ -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.

View File

@ -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");
}

View File

@ -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),