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

Chris Lattner lattner at cs.uiuc.edu
Mon Nov 17 13:48:02 PST 2003


Changes in directory llvm/include/llvm:

Constants.h updated: 1.35 -> 1.36

---
Log message:

The ConstantPointer class is now gone.


---
Diffs of the changes:  (+13 -46)

Index: llvm/include/llvm/Constants.h
diff -u llvm/include/llvm/Constants.h:1.35 llvm/include/llvm/Constants.h:1.36
--- llvm/include/llvm/Constants.h:1.35	Sun Nov 16 14:21:15 2003
+++ llvm/include/llvm/Constants.h	Mon Nov 17 13:47:15 2003
@@ -385,41 +385,14 @@
 };
 
 //===---------------------------------------------------------------------------
-/// ConstantPointer - Constant Pointer Declarations
-///
-/// The ConstantPointer class represents a null pointer of a specific type. For
-/// a more specific/useful instance, a subclass of ConstantPointer should be
-/// used.
-///
-class ConstantPointer : public Constant {
-  ConstantPointer(const ConstantPointer &);      // DO NOT IMPLEMENT
-protected:
-  inline ConstantPointer(const PointerType *T)
-    : Constant(reinterpret_cast<const Type*>(T)) { }
-public:
-  inline const PointerType *getType() const {
-    return reinterpret_cast<const PointerType*>(Value::getType());
-  }
-
-  /// isNullValue - Return true if this is the value that would be returned by
-  /// getNullValue.
-  virtual bool isNullValue() const { return false; }
-
-  /// Methods for support type inquiry through isa, cast, and dyn_cast:
-  static inline bool classof(const ConstantPointer *) { return true; }
-  static bool classof(const Constant *CPV);  // defined in Constants.cpp
-  static inline bool classof(const Value *V) {
-    return isa<Constant>(V) && classof(cast<Constant>(V));
-  }
-};
-
 /// ConstantPointerNull - a constant pointer value that points to null
 ///
-class ConstantPointerNull : public ConstantPointer {
+class ConstantPointerNull : public Constant {
   friend struct ConstantCreator<ConstantPointerNull, PointerType, char>;
   ConstantPointerNull(const ConstantPointerNull &);      // DO NOT IMPLEMENT
 protected:
-  ConstantPointerNull(const PointerType *T) : ConstantPointer(T) {}
+  ConstantPointerNull(const PointerType *T)
+    : Constant(reinterpret_cast<const Type*>(T)) {}
 
 public:
 
@@ -434,22 +407,18 @@
 
   /// Methods for support type inquiry through isa, cast, and dyn_cast:
   static inline bool classof(const ConstantPointerNull *) { return true; }
-  static inline bool classof(const ConstantPointer *P) {
-    return (P->getNumOperands() == 0 && P->isNullValue());
-  }
-  static inline bool classof(const Constant *CPV) {
-    return isa<ConstantPointer>(CPV) && classof(cast<ConstantPointer>(CPV));
-  }
+  static bool classof(const Constant *CPV);
   static inline bool classof(const Value *V) {
-    return isa<ConstantPointer>(V) && classof(cast<ConstantPointer>(V));
+    return isa<Constant>(V) && classof(cast<Constant>(V));
   }
 };
 
 
+//===---------------------------------------------------------------------------
 /// ConstantPointerRef - a constant pointer value that is initialized to
 /// point to a global value, which lies at a constant, fixed address.
 ///
-class ConstantPointerRef : public ConstantPointer {
+class ConstantPointerRef : public Constant {
   friend class Module;   // Modules maintain these references
   ConstantPointerRef(const ConstantPointerRef &); // DNI!
 
@@ -467,21 +436,19 @@
     return cast<GlobalValue>(Operands[0].get());
   }
 
+  /// isNullValue - Return true if this is the value that would be returned by
+  /// getNullValue.
+  virtual bool isNullValue() const { return false; }
+
   virtual void destroyConstant();
   virtual void replaceUsesOfWithOnConstant(Value *From, Value *To,
                                            bool DisableChecking = false);
 
   /// Methods for support type inquiry through isa, cast, and dyn_cast:
   static inline bool classof(const ConstantPointerRef *) { return true; }
-  static inline bool classof(const ConstantPointer *CPV) {
-    // check for a single operand (the target value)
-    return (CPV->getNumOperands() == 1);
-  }
-  static inline bool classof(const Constant *CPV) {
-    return isa<ConstantPointer>(CPV) && classof(cast<ConstantPointer>(CPV));
-  }
+  static bool classof(const Constant *CPV);
   static inline bool classof(const Value *V) {
-    return isa<ConstantPointer>(V) && classof(cast<ConstantPointer>(V));
+    return isa<Constant>(V) && classof(cast<Constant>(V));
   }
 };
 





More information about the llvm-commits mailing list