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

2007-04-30 Thread Anton Korobeynikov


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.41 - 1.42
---
Log message:

Fix comment


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

 GlobalValue.h |7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.41 
llvm/include/llvm/GlobalValue.h:1.42
--- llvm/include/llvm/GlobalValue.h:1.41Sun Apr 29 13:35:00 2007
+++ llvm/include/llvm/GlobalValue.h Mon Apr 30 14:14:56 2007
@@ -8,9 +8,10 @@
 
//===--===//
 //
 // This file is a common base class of all globally definable objects.  As 
such,
-// it is subclassed by GlobalVariable and by Function.  This is used because 
you
-// can do certain things with these global objects that you can't do to 
anything
-// else.  For example, use the address of one as a constant.
+// it is subclassed by GlobalVariable, GlobalAlias and by Function.  This is
+// used because you can do certain things with these global objects that you
+// can't do to anything else.  For example, use the address of one as a
+// constant.
 //
 
//===--===//
 



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


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

2007-04-29 Thread Anton Korobeynikov


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.40 - 1.41
---
Log message:

Implement protected visibility. This partly implements PR1363: 
http://llvm.org/PR1363 . Linker 
should be taught to deal with protected symbols.


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

 GlobalValue.h |8 ++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.40 
llvm/include/llvm/GlobalValue.h:1.41
--- llvm/include/llvm/GlobalValue.h:1.40Sat Apr 28 08:44:59 2007
+++ llvm/include/llvm/GlobalValue.h Sun Apr 29 13:35:00 2007
@@ -43,7 +43,8 @@
   /// @brief An enumeration for the kinds of visibility of global values.
   enum VisibilityTypes {
 DefaultVisibility = 0,  /// The GV is visible
-HiddenVisibility/// The GV is hidden
+HiddenVisibility,   /// The GV is hidden
+ProtectedVisibility /// The GV is protected
   };
 
 protected:
@@ -58,7 +59,7 @@
   // Note: VC++ treats enums as signed, so an extra bit is required to prevent
   // Linkage and Visibility from turning into negative values.
   LinkageTypes Linkage : 5;   // The linkage of this global
-  unsigned Visibility : 1;// The visibility style of this global
+  unsigned Visibility : 2;// The visibility style of this global
   unsigned Alignment : 16;// Alignment of this symbol, must be power of two
   std::string Section;// Section to emit this into, empty mean default
 public:
@@ -74,6 +75,9 @@
 
   VisibilityTypes getVisibility() const { return (VisibilityTypes)Visibility; }
   bool hasHiddenVisibility() const { return Visibility == HiddenVisibility; }
+  bool hasProtectedVisibility() const {
+return Visibility == ProtectedVisibility;
+  }
   void setVisibility(VisibilityTypes V) { Visibility = V; }
   
   bool hasSection() const { return !Section.empty(); }



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


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

2007-04-22 Thread Chris Lattner
 Index: llvm/include/llvm/GlobalValue.h
 diff -u llvm/include/llvm/GlobalValue.h:1.36 llvm/include/llvm/ 
 GlobalValue.h:1.37
 --- llvm/include/llvm/GlobalValue.h:1.36  Mon Apr 16 23:31:29 2007
 +++ llvm/include/llvm/GlobalValue.h   Sat Apr 21 10:29:13 2007
 @@ -55,8 +55,10 @@
}

Module *Parent;
 -  LinkageTypes Linkage : 4;   // The linkage of this global
 -  VisibilityTypes Visibility : 1;  // The visibility style of this  
 global
 +  // Note: VC++ treats enums as signed, so an extra bit is  
 required to prevent
 +  // Linkage and Visibility from turning into negative values.
 +  LinkageTypes Linkage : 5;   // The linkage of this global
 +  VisibilityTypes Visibility : 2;  // The visibility style of this  
 global
unsigned Alignment : 16;// Alignment of this symbol, must be  
 power of two
std::string Section;// Section to emit this into, empty  
 mean default
  public:

Please change the enum type to unsigned Visibility : 1, and add a  
cast to the getVisibility() accessor.

Thanks,

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


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

2007-04-22 Thread Jeff Cohen


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.37 - 1.38
---
Log message:

Implement review feedback.

---
Diffs of the changes:  (+2 -2)

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


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.37 
llvm/include/llvm/GlobalValue.h:1.38
--- llvm/include/llvm/GlobalValue.h:1.37Sat Apr 21 10:29:13 2007
+++ llvm/include/llvm/GlobalValue.h Sun Apr 22 10:11:24 2007
@@ -58,7 +58,7 @@
   // Note: VC++ treats enums as signed, so an extra bit is required to prevent
   // Linkage and Visibility from turning into negative values.
   LinkageTypes Linkage : 5;   // The linkage of this global
-  VisibilityTypes Visibility : 2;  // The visibility style of this global
+  unsigned Visibility : 1;// The visibility style of this global
   unsigned Alignment : 16;// Alignment of this symbol, must be power of two
   std::string Section;// Section to emit this into, empty mean default
 public:
@@ -72,7 +72,7 @@
 Alignment = Align;
   }
 
-  VisibilityTypes getVisibility() const { return Visibility; }
+  VisibilityTypes getVisibility() const { return (VisibilityTypes)Visibility; }
   bool hasHiddenVisibility() const { return Visibility == HiddenVisibility; }
   void setVisibility(VisibilityTypes V) { Visibility = 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/GlobalValue.h

2007-04-21 Thread Jeff Cohen


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.36 - 1.37
---
Log message:

Fix breakage of bytecode reader when built with VC++.

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

 GlobalValue.h |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.36 
llvm/include/llvm/GlobalValue.h:1.37
--- llvm/include/llvm/GlobalValue.h:1.36Mon Apr 16 23:31:29 2007
+++ llvm/include/llvm/GlobalValue.h Sat Apr 21 10:29:13 2007
@@ -55,8 +55,10 @@
   }
 
   Module *Parent;
-  LinkageTypes Linkage : 4;   // The linkage of this global
-  VisibilityTypes Visibility : 1;  // The visibility style of this global
+  // Note: VC++ treats enums as signed, so an extra bit is required to prevent
+  // Linkage and Visibility from turning into negative values.
+  LinkageTypes Linkage : 5;   // The linkage of this global
+  VisibilityTypes Visibility : 2;  // The visibility style of this global
   unsigned Alignment : 16;// Alignment of this symbol, must be power of two
   std::string Section;// Section to emit this into, empty mean default
 public:



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


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

2007-02-25 Thread Chris Lattner


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.33 - 1.34
---
Log message:

Rework GlobalValue::removeDeadConstantUsers to always remove dead constant
exprs hanging off a global, even if the global is not otherwise dead.  This
requires some tricky iterator gymnastics.

This implements Transforms/GlobalOpt/constantexpr-dangle.ll by deleting a
constantexpr that made it appear that the address of the function was taken.


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

 GlobalValue.h |4 
 1 files changed, 4 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.33 
llvm/include/llvm/GlobalValue.h:1.34
--- llvm/include/llvm/GlobalValue.h:1.33Sun Feb 11 23:18:08 2007
+++ llvm/include/llvm/GlobalValue.h Sun Feb 25 15:06:13 2007
@@ -128,10 +128,6 @@
   /// off of this global value, remove them.  This method is useful for clients
   /// that want to check to see if a global is unused, but don't want to deal
   /// with potentially dead constants hanging off of the globals.
-  ///
-  /// This method tries to make the global dead.  If it detects a user that
-  /// would prevent it from becoming completely dead, it gives up early,
-  /// potentially leaving some dead constant users around.
   void removeDeadConstantUsers();
 
   // Methods for support type inquiry through isa, cast, and dyn_cast:



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


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

2007-01-26 Thread Reid Spencer


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.30 - 1.31
---
Log message:

Add some comments, fix an 80 cols violation.


---
Diffs of the changes:  (+16 -12)

 GlobalValue.h |   28 
 1 files changed, 16 insertions(+), 12 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.30 
llvm/include/llvm/GlobalValue.h:1.31
--- llvm/include/llvm/GlobalValue.h:1.30Fri Jan 12 13:20:46 2007
+++ llvm/include/llvm/GlobalValue.h Fri Jan 26 22:42:50 2007
@@ -27,21 +27,25 @@
 class GlobalValue : public Constant {
   GlobalValue(const GlobalValue ); // do not implement
 public:
+  /// @brief An enumeration for the kinds of linkage for global values.
   enum LinkageTypes {
-ExternalLinkage, /// Externally visible function
-LinkOnceLinkage, /// Keep one copy of function when linking (inline)
-WeakLinkage, /// Keep one copy of named function when linking 
(weak)
-AppendingLinkage,/// Special purpose, only applies to global arrays
-InternalLinkage, /// Rename collisions when linking (static functions)
-DLLImportLinkage,/// Function to be imported from DLL
-DLLExportLinkage,/// Function to be accessible from DLL
-ExternalWeakLinkage, /// ExternalWeak linkage description
-GhostLinkage /// Stand-in functions for streaming fns from BC 
files
+ExternalLinkage,/// Externally visible function
+LinkOnceLinkage,/// Keep one copy of function when linking (inline)
+WeakLinkage,/// Keep one copy of named function when linking 
(weak)
+AppendingLinkage,   /// Special purpose, only applies to global arrays
+InternalLinkage,/// Rename collisions when linking (static functions)
+DLLImportLinkage,   /// Function to be imported from DLL
+DLLExportLinkage,   /// Function to be accessible from DLL
+ExternalWeakLinkage,/// ExternalWeak linkage description
+GhostLinkage/// Stand-in functions for streaming fns from BC 
files
   };
+
+  /// @brief An enumeration for the kinds of visibility of global values.
   enum VisibilityTypes {
-DefaultVisibility,
-HiddenVisibility
+DefaultVisibility,  /// The GV is visible
+HiddenVisibility/// The GV is hidden
   };
+
 protected:
   GlobalValue(const Type *Ty, ValueTy vty, Use *Ops, unsigned NumOps,
   LinkageTypes linkage, const std::string name = )
@@ -91,7 +95,7 @@
   bool hasInternalLinkage()   const { return Linkage == InternalLinkage; }
   bool hasDLLImportLinkage()  const { return Linkage == DLLImportLinkage; }
   bool hasDLLExportLinkage()  const { return Linkage == DLLExportLinkage; }
-  bool hasExternalWeakLinkage()  const { return Linkage == 
ExternalWeakLinkage; }
+  bool hasExternalWeakLinkage() const { return Linkage == ExternalWeakLinkage; 
}
   void setLinkage(LinkageTypes LT) { Linkage = LT; }
   LinkageTypes getLinkage() const { return Linkage; }
 



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


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

2007-01-12 Thread Anton Korobeynikov


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.29 - 1.30
---
Log message:

* PIC codegen for X86/Linux has been implemented
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)


---
Diffs of the changes:  (+11 -2)

 GlobalValue.h |   13 +++--
 1 files changed, 11 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.29 
llvm/include/llvm/GlobalValue.h:1.30
--- llvm/include/llvm/GlobalValue.h:1.29Wed Dec  6 14:28:46 2006
+++ llvm/include/llvm/GlobalValue.h Fri Jan 12 13:20:46 2007
@@ -38,14 +38,19 @@
 ExternalWeakLinkage, /// ExternalWeak linkage description
 GhostLinkage /// Stand-in functions for streaming fns from BC 
files
   };
+  enum VisibilityTypes {
+DefaultVisibility,
+HiddenVisibility
+  };
 protected:
   GlobalValue(const Type *Ty, ValueTy vty, Use *Ops, unsigned NumOps,
   LinkageTypes linkage, const std::string name = )
-: Constant(Ty, vty, Ops, NumOps, name), 
-  Parent(0), Linkage(linkage), Alignment(0) { }
+: Constant(Ty, vty, Ops, NumOps, name), Parent(0),
+  Linkage(linkage), Visibility(DefaultVisibility), Alignment(0) { }
 
   Module *Parent;
   LinkageTypes Linkage;   // The linkage of this global
+  VisibilityTypes Visibility;  // The visibility style 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:
@@ -58,6 +63,10 @@
 assert((Align  (Align-1)) == 0  Alignment is not a power of 2!);
 Alignment = Align;
   }
+
+  VisibilityTypes getVisibility() const { return Visibility; }
+  bool hasHiddenVisibility() const { return Visibility == HiddenVisibility; }
+  void setVisibility(VisibilityTypes V) { Visibility = V; }
   
   bool hasSection() const { return !Section.empty(); }
   const std::string getSection() const { return Section; }



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


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

2006-12-06 Thread Reid Spencer


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.28 - 1.29
---
Log message:

Fix some 80 col violations.


---
Diffs of the changes:  (+2 -2)

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


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.28 
llvm/include/llvm/GlobalValue.h:1.29
--- llvm/include/llvm/GlobalValue.h:1.28Thu Sep 14 13:23:26 2006
+++ llvm/include/llvm/GlobalValue.h Wed Dec  6 14:28:46 2006
@@ -29,13 +29,13 @@
 public:
   enum LinkageTypes {
 ExternalLinkage, /// Externally visible function
-LinkOnceLinkage, /// Keep one copy of named function when linking 
(inline)
+LinkOnceLinkage, /// Keep one copy of function when linking (inline)
 WeakLinkage, /// Keep one copy of named function when linking 
(weak)
 AppendingLinkage,/// Special purpose, only applies to global arrays
 InternalLinkage, /// Rename collisions when linking (static functions)
 DLLImportLinkage,/// Function to be imported from DLL
 DLLExportLinkage,/// Function to be accessible from DLL
-ExternalWeakLinkage, /// TBD: ExternalWeak linkage description
+ExternalWeakLinkage, /// ExternalWeak linkage description
 GhostLinkage /// Stand-in functions for streaming fns from BC 
files
   };
 protected:



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


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

2006-09-14 Thread Anton Korobeynikov


Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.27 - 1.28
---
Log message:

Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C  both x86 
assembler backends.
External weak linkage added for future use, we don't provide any 
codegeneration, etc. support for it.


---
Diffs of the changes:  (+17 -11)

 GlobalValue.h |   28 +---
 1 files changed, 17 insertions(+), 11 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.27 
llvm/include/llvm/GlobalValue.h:1.28
--- llvm/include/llvm/GlobalValue.h:1.27Fri Nov 11 18:09:49 2005
+++ llvm/include/llvm/GlobalValue.h Thu Sep 14 13:23:26 2006
@@ -28,12 +28,15 @@
   GlobalValue(const GlobalValue ); // do not implement
 public:
   enum LinkageTypes {
-ExternalLinkage,   /// Externally visible function
-LinkOnceLinkage,   /// Keep one copy of named function when linking 
(inline)
-WeakLinkage,   /// Keep one copy of named function when linking (weak)
-AppendingLinkage,  /// Special purpose, only applies to global arrays
-InternalLinkage,   /// Rename collisions when linking (static functions)
-GhostLinkage   /// Stand-in functions for streaming fns from BC files
+ExternalLinkage, /// Externally visible function
+LinkOnceLinkage, /// Keep one copy of named function when linking 
(inline)
+WeakLinkage, /// Keep one copy of named function when linking 
(weak)
+AppendingLinkage,/// Special purpose, only applies to global arrays
+InternalLinkage, /// Rename collisions when linking (static functions)
+DLLImportLinkage,/// Function to be imported from DLL
+DLLExportLinkage,/// Function to be accessible from DLL
+ExternalWeakLinkage, /// TBD: ExternalWeak linkage description
+GhostLinkage /// Stand-in functions for streaming fns from BC 
files
   };
 protected:
   GlobalValue(const Type *Ty, ValueTy vty, Use *Ops, unsigned NumOps,
@@ -72,11 +75,14 @@
 return reinterpret_castconst PointerType*(User::getType());
   }
 
-  bool hasExternalLinkage()  const { return Linkage == ExternalLinkage; }
-  bool hasLinkOnceLinkage()  const { return Linkage == LinkOnceLinkage; }
-  bool hasWeakLinkage()  const { return Linkage == WeakLinkage; }
-  bool hasAppendingLinkage() const { return Linkage == AppendingLinkage; }
-  bool hasInternalLinkage()  const { return Linkage == InternalLinkage; }
+  bool hasExternalLinkage()   const { return Linkage == ExternalLinkage; }
+  bool hasLinkOnceLinkage()   const { return Linkage == LinkOnceLinkage; }
+  bool hasWeakLinkage()   const { return Linkage == WeakLinkage; }
+  bool hasAppendingLinkage()  const { return Linkage == AppendingLinkage; }
+  bool hasInternalLinkage()   const { return Linkage == InternalLinkage; }
+  bool hasDLLImportLinkage()  const { return Linkage == DLLImportLinkage; }
+  bool hasDLLExportLinkage()  const { return Linkage == DLLExportLinkage; }
+  bool hasExternalWeakLinkage()  const { return Linkage == 
ExternalWeakLinkage; }
   void setLinkage(LinkageTypes LT) { Linkage = LT; }
   LinkageTypes getLinkage() const { return Linkage; }
 



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