[llvm-commits] CVS: llvm/include/llvm/Function.h GlobalAlias.h

2007-04-29 Thread Anton Korobeynikov


Changes in directory llvm/include/llvm:

Function.h updated: 1.83 - 1.84
GlobalAlias.h updated: 1.2 - 1.3
---
Log message:

Implement review feedback


---
Diffs of the changes:  (+6 -3)

 Function.h|4 ++--
 GlobalAlias.h |5 -
 2 files changed, 6 insertions(+), 3 deletions(-)


Index: llvm/include/llvm/Function.h
diff -u llvm/include/llvm/Function.h:1.83 llvm/include/llvm/Function.h:1.84
--- llvm/include/llvm/Function.h:1.83   Sat Apr 28 08:44:59 2007
+++ llvm/include/llvm/Function.hSun Apr 29 13:02:48 2007
@@ -150,12 +150,12 @@
   /// removeFromParent - This method unlinks 'this' from the containing module,
   /// but does not delete it.
   ///
-  virtual void removeFromParent();
+  void removeFromParent();
 
   /// eraseFromParent - This method unlinks 'this' from the containing module
   /// and deletes it.
   ///
-  virtual void eraseFromParent();
+  void eraseFromParent();
 
 
   /// Get the underlying elements of the Function... the basic block list is


Index: llvm/include/llvm/GlobalAlias.h
diff -u llvm/include/llvm/GlobalAlias.h:1.2 llvm/include/llvm/GlobalAlias.h:1.3
--- llvm/include/llvm/GlobalAlias.h:1.2 Sat Apr 28 08:44:59 2007
+++ llvm/include/llvm/GlobalAlias.h Sun Apr 29 13:02:48 2007
@@ -75,7 +75,10 @@
   Constant* getAliasee() {
 return cast_or_nullConstant(getOperand(0));
   }
-
+  /// getAliasedGlobal() - Aliasee can be either global or bitcast of
+  /// global. This method retrives the global for both aliasee flavours.
+  const GlobalValue* getAliasedGlobal() const;
+
   // Methods for support type inquiry through isa, cast, and dyn_cast:
   static inline bool classof(const GlobalAlias *) { return true; }
   static inline bool classof(const Value *V) {



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


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

2007-04-28 Thread Anton Korobeynikov


Changes in directory llvm/include/llvm:

Function.h updated: 1.82 - 1.83
GlobalAlias.h updated: 1.1 - 1.2
GlobalValue.h updated: 1.39 - 1.40
GlobalVariable.h updated: 1.45 - 1.46
---
Log message:

Implement review feedback. Aliasees can be either GlobalValue's or 
bitcasts of them.


---
Diffs of the changes:  (+32 -37)

 Function.h   |   18 +-
 GlobalAlias.h|   37 +
 GlobalValue.h|   10 --
 GlobalVariable.h |4 ++--
 4 files changed, 32 insertions(+), 37 deletions(-)


Index: llvm/include/llvm/Function.h
diff -u llvm/include/llvm/Function.h:1.82 llvm/include/llvm/Function.h:1.83
--- llvm/include/llvm/Function.h:1.82   Wed Apr 25 09:27:10 2007
+++ llvm/include/llvm/Function.hSat Apr 28 08:44:59 2007
@@ -81,6 +81,15 @@
   void setNext(Function *N) { Next = N; }
   void setPrev(Function *N) { Prev = N; }
 
+  // getNext/Prev - Return the next or previous function in the list.  These
+  // methods should never be used directly, and are only used to implement the
+  // function list as part of the module.
+  //
+  Function *getNext() { return Next; }
+  const Function *getNext() const { return Next; }
+  Function *getPrev() { return Prev; }
+  const Function *getPrev() const { return Prev; }
+
 public:
   /// Function ctor - If the (optional) Module argument is specified, the
   /// function is automatically inserted into the end of the function list for
@@ -243,15 +252,6 @@
 Function *Obj = 0;
 return unsigned(reinterpret_castuintptr_t(Obj-ArgumentList));
   }
-private:
-  // getNext/Prev - Return the next or previous function in the list.  These
-  // methods should never be used directly, and are only used to implement the
-  // function list as part of the module.
-  //
-  Function *getNext() { return Next; }
-  const Function *getNext() const { return Next; }
-  Function *getPrev() { return Prev; }
-  const Function *getPrev() const { return Prev; }
 };
 
 inline ValueSymbolTable *


Index: llvm/include/llvm/GlobalAlias.h
diff -u llvm/include/llvm/GlobalAlias.h:1.1 llvm/include/llvm/GlobalAlias.h:1.2
--- llvm/include/llvm/GlobalAlias.h:1.1 Wed Apr 25 11:42:39 2007
+++ llvm/include/llvm/GlobalAlias.h Sat Apr 28 08:44:59 2007
@@ -1,4 +1,4 @@
-//===__-- llvm/GlobalAlias.h - GlobalAlias class *- C++ 
-*-===//
+//=== llvm/GlobalAlias.h - GlobalAlias class *- C++ 
-*-===//
 //
 // The LLVM Compiler Infrastructure
 //
@@ -8,7 +8,7 @@
 
//===--===//
 //
 // This file contains the declaration of the GlobalAlias class, which
-// represents a single function or variable alias in the VM.
+// represents a single function or variable alias in the IR.
 //
 
//===--===//
 
@@ -36,13 +36,18 @@
   void setNext(GlobalAlias *N) { Next = N; }
   void setPrev(GlobalAlias *N) { Prev = N; }
 
-  const GlobalValue* Aliasee;
-  std::string Target;
+  // getNext/Prev - Return the next or previous alias in the list.
+GlobalAlias *getNext()   { return Next; }
+  const GlobalAlias *getNext() const { return Next; }
+GlobalAlias *getPrev()   { return Prev; }
+  const GlobalAlias *getPrev() const { return Prev; }
+
+  Use Aliasee;
 public:
   /// GlobalAlias ctor - If a parent module is specified, the alias is
-  /// automatically inserted into the end of the specified modules alias list.
+  /// automatically inserted into the end of the specified module's alias list.
   GlobalAlias(const Type *Ty, LinkageTypes Linkage, const std::string Name = 
,
-  const GlobalValue* Aliasee = 0, Module *Parent = 0);
+  Constant* Aliasee = 0, Module *Parent = 0);
 
   /// isDeclaration - Is this global variable lacking an initializer?  If so, 
   /// the global variable is defined in some other translation unit, and is 
thus
@@ -52,30 +57,30 @@
   /// removeFromParent - This method unlinks 'this' from the containing module,
   /// but does not delete it.
   ///
-  virtual void removeFromParent();
+  void removeFromParent();
 
   /// eraseFromParent - This method unlinks 'this' from the containing module
   /// and deletes it.
   ///
-  virtual void eraseFromParent();
+  void eraseFromParent();
 
   virtual void print(std::ostream OS) const;
   void print(std::ostream *OS) const { if (OS) print(*OS); }
 
-  void setAliasee(const GlobalValue* GV);
-  const GlobalValue* getAliasee() const { return Aliasee; }
+  /// set/getAliasee - These methods retrive and set alias target.
+  void setAliasee(Constant* GV);
+  const Constant* getAliasee() const {
+return cast_or_nullConstant(getOperand(0));
+  }
+  Constant* getAliasee() {
+return cast_or_nullConstant(getOperand(0));
+  }
 
   // Methods for support type inquiry through isa, cast, and dyn_cast:
   static inline bool 

Re: [llvm-commits] CVS: llvm/include/llvm/Function.h GlobalAlias.h GlobalValue.h GlobalVariable.h

2007-04-28 Thread Chris Lattner
 Index: llvm/include/llvm/Function.h
 diff -u llvm/include/llvm/Function.h:1.82 llvm/include/llvm/ 
 Function.h:1.83
 --- llvm/include/llvm/Function.h:1.82 Wed Apr 25 09:27:10 2007
 +++ llvm/include/llvm/Function.h  Sat Apr 28 08:44:59 2007
 @@ -81,6 +81,15 @@
void setNext(Function *N) { Next = N; }
void setPrev(Function *N) { Prev = N; }

Please also make Function::removeFromParent etc non-virtual,

-Chris



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits