diff options
author | Chris Lattner <sabre@nondot.org> | 2005-11-12 00:09:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-11-12 00:09:49 +0000 |
commit | 7a13354ddede26369da1ee8320252f73e30b2d35 (patch) | |
tree | 7e8c95039f925338661ab54a062ca23bf2808a64 /include | |
parent | b921f1b731ffff11d130d561a8880e216e4ace78 (diff) | |
download | external_llvm-7a13354ddede26369da1ee8320252f73e30b2d35.zip external_llvm-7a13354ddede26369da1ee8320252f73e30b2d35.tar.gz external_llvm-7a13354ddede26369da1ee8320252f73e30b2d35.tar.bz2 |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/GlobalValue.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/llvm/GlobalValue.h b/include/llvm/GlobalValue.h index a3b3cde..ca189b2 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. |