Basic support for small sections

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53907 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bruno Cardoso Lopes 2008-07-22 15:26:53 +00:00
parent b6f08eb1e6
commit 62d590cc8e
2 changed files with 30 additions and 0 deletions

View File

@ -39,6 +39,9 @@ namespace llvm {
ROData, ///< Readonly data section
RODataMergeStr, ///< Readonly data section (mergeable strings)
RODataMergeConst, ///< Readonly data section (mergeable constants)
SmallData, ///< Small data section
SmallBSS, ///< Small bss section
SmallROData, ///< Small readonly section
ThreadData, ///< Initialized TLS data objects
ThreadBSS ///< Uninitialized TLS data objects
};
@ -119,6 +122,21 @@ namespace llvm {
const char *ReadOnlySection; // Defaults to NULL
const Section *ReadOnlySection_;
/// SmallDataSection - This is the directive that is emitted to switch to a
/// small data section.
///
const Section *SmallDataSection; // Defaults to NULL
/// SmallBSSSection - This is the directive that is emitted to switch to a
/// small bss section.
///
const Section *SmallBSSSection; // Defaults to NULL
/// SmallRODataSection - This is the directive that is emitted to switch to
/// a small read-only data section.
///
const Section *SmallRODataSection; // Defaults to NULL
/// TLSDataSection - Section directive for Thread Local data.
///
const char *TLSDataSection;// Defaults to ".section .tdata,"awT",@progbits".
@ -549,6 +567,15 @@ namespace llvm {
const Section *getReadOnlySection_() const {
return ReadOnlySection_;
}
const Section *getSmallDataSection() const {
return SmallDataSection;
}
const Section *getSmallBSSSection() const {
return SmallBSSSection;
}
const Section *getSmallRODataSection() const {
return SmallRODataSection;
}
const char *getTLSDataSection() const {
return TLSDataSection;
}

View File

@ -34,6 +34,9 @@ TargetAsmInfo::TargetAsmInfo() :
BSSSection_(0),
ReadOnlySection(0),
ReadOnlySection_(0),
SmallDataSection(0),
SmallBSSSection(0),
SmallRODataSection(0),
TLSDataSection("\t.section .tdata,\"awT\",@progbits"),
TLSDataSection_(0),
TLSBSSSection("\t.section .tbss,\"awT\",@nobits"),