From 7a13354ddede26369da1ee8320252f73e30b2d35 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 12 Nov 2005 00:09:49 +0000 Subject: [PATCH] Add support for putting globals in a particular section git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24309 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/GlobalValue.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/include/llvm/GlobalValue.h b/include/llvm/GlobalValue.h index a3b3cde85da..ca189b2cbe1 100644 --- a/include/llvm/GlobalValue.h +++ b/include/llvm/GlobalValue.h @@ -38,12 +38,13 @@ public: protected: GlobalValue(const Type *Ty, ValueTy vty, Use *Ops, unsigned NumOps, LinkageTypes linkage, const std::string &name = "") - : Constant(Ty, vty, Ops, NumOps, name), Linkage(linkage), - Parent(0), Alignment(0) { } + : Constant(Ty, vty, Ops, NumOps, name), + Parent(0), Linkage(linkage), Alignment(0) { } - LinkageTypes Linkage; // The linkage of this global Module *Parent; - unsigned Alignment; + LinkageTypes Linkage; // The linkage of this global + unsigned Alignment; // Alignment of this symbol, must be power of two + std::string Section; // Section to emit this into, empty mean default public: ~GlobalValue() { removeDeadConstantUsers(); // remove any dead constants using this. @@ -55,6 +56,10 @@ public: Alignment = Align; } + bool hasSection() const { return !Section.empty(); } + const std::string &getSection() const { return Section; } + void setSection(const std::string &S) { Section = S; } + /// If the usage is empty (except transitively dead constants), then this /// global value can can be safely deleted since the destructor will /// delete the dead constants as well. -- 2.34.1