From 62d590cc8e8ce10351fa20b8cde77f511b8bdb74 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Tue, 22 Jul 2008 15:26:53 +0000 Subject: [PATCH] Basic support for small sections git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53907 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetAsmInfo.h | 27 +++++++++++++++++++++++++++ lib/Target/TargetAsmInfo.cpp | 3 +++ 2 files changed, 30 insertions(+) diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h index 1bde72e2d01..98247e8d801 100644 --- a/include/llvm/Target/TargetAsmInfo.h +++ b/include/llvm/Target/TargetAsmInfo.h @@ -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; } diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp index 2be9440f3b4..9125546ff40 100644 --- a/lib/Target/TargetAsmInfo.cpp +++ b/lib/Target/TargetAsmInfo.cpp @@ -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"), -- 2.34.1