[llvm-commits] CVS: llvm/include/llvm/GlobalValue.h

Chris Lattner lattner at cs.uiuc.edu
Fri Nov 11 16:10:10 PST 2005



Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.26 -> 1.27
---
Log message:

Add support for putting globals in a particular section


---
Diffs of the changes:  (+9 -4)

 GlobalValue.h |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.26 llvm/include/llvm/GlobalValue.h:1.27
--- llvm/include/llvm/GlobalValue.h:1.26	Sun Nov  6 02:22:18 2005
+++ llvm/include/llvm/GlobalValue.h	Fri Nov 11 18:09:49 2005
@@ -38,12 +38,13 @@
 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 @@
     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.






More information about the llvm-commits mailing list