Change UsedPhysRegs from array bool to BitVector to save some space. Setting / gettin...
[oota-llvm.git] / include / llvm / GlobalVariable.h
index bf638fb21a46c25be1ca3343338a74c1735ec93f..303e57f99a584d6a524317c41d9c72bd31e87b65 100644 (file)
@@ -41,8 +41,8 @@ class GlobalVariable : public GlobalValue {
   void setNext(GlobalVariable *N) { Next = N; }
   void setPrev(GlobalVariable *N) { Prev = N; }
 
-  bool isConstantGlobal;               // Is this a global constant?
-  bool isThreadLocalSymbol;            // Is this symbol "Thread Local"?
+  bool isConstantGlobal : 1;           // Is this a global constant?
+  bool isThreadLocalSymbol : 1;        // Is this symbol "Thread Local"?
   Use Initializer;
 
 public:
@@ -93,12 +93,6 @@ public:
     }
   }
 
-  // getNext/Prev - Return the next or previous global variable in the list.
-        GlobalVariable *getNext()       { return Next; }
-  const GlobalVariable *getNext() const { return Next; }
-        GlobalVariable *getPrev()       { return Prev; }
-  const GlobalVariable *getPrev() const { return Prev; }
-
   /// If the value is a global constant, its value is immutable throughout the
   /// runtime execution of the program.  Assigning a value into the constant
   /// leads to undefined behavior.
@@ -113,12 +107,12 @@ public:
   /// removeFromParent - This method unlinks 'this' from the containing module,
   /// but does not delete it.
   ///
-  void removeFromParent();
+  virtual void removeFromParent();
 
   /// eraseFromParent - This method unlinks 'this' from the containing module
   /// and deletes it.
   ///
-  void eraseFromParent();
+  virtual void eraseFromParent();
 
   /// Override Constant's implementation of this method so we can
   /// replace constant initializers.
@@ -132,6 +126,12 @@ public:
   static inline bool classof(const Value *V) {
     return V->getValueID() == Value::GlobalVariableVal;
   }
+private:
+  // getNext/Prev - Return the next or previous global variable in the list.
+        GlobalVariable *getNext()       { return Next; }
+  const GlobalVariable *getNext() const { return Next; }
+        GlobalVariable *getPrev()       { return Prev; }
+  const GlobalVariable *getPrev() const { return Prev; }
 };
 
 } // End llvm namespace