[llvm-commits] [llvm] r62527 - /llvm/trunk/include/llvm/Analysis/DebugInfo.h

Devang Patel dpatel at apple.com
Mon Jan 19 13:13:39 PST 2009


Author: dpatel
Date: Mon Jan 19 15:13:39 2009
New Revision: 62527

URL: http://llvm.org/viewvc/llvm-project?rev=62527&view=rev
Log:
DebugInfo is a lightweight APIs and consumers are expected to use light objects directly. There is no need to support isa<>, dyn_cast<> etc...

Modified:
    llvm/trunk/include/llvm/Analysis/DebugInfo.h

Modified: llvm/trunk/include/llvm/Analysis/DebugInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/DebugInfo.h?rev=62527&r1=62526&r2=62527&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Analysis/DebugInfo.h (original)
+++ llvm/trunk/include/llvm/Analysis/DebugInfo.h Mon Jan 19 15:13:39 2009
@@ -78,7 +78,6 @@
     unsigned getTag() const {
       return getUnsignedField(0) & ~VersionMask;
     }
-    static inline bool classof(const DIDescriptor *D) { return true; }
   };
   
   /// DIAnchor - A wrapper for various anchor descriptors.
@@ -96,10 +95,6 @@
     
     int64_t getLo() const { return (int64_t)getUInt64Field(1); }
     int64_t getHi() const { return (int64_t)getUInt64Field(2); }
-    static inline bool classof(const DISubrange *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return D->getTag() == dwarf::DW_TAG_subrange_type;
-    }
   };
   
   /// DIArray - This descriptor holds an array of descriptors.
@@ -111,12 +106,6 @@
     DIDescriptor getElement(unsigned Idx) const {
       return getDescriptorField(Idx);
     }
-
-    static inline bool classof(const DIArray *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return D->getTag() == dwarf::DW_TAG_array_type 
-        || D->getTag() == dwarf::DW_AT_GNU_vector;
-    }
   };
   
   /// DICompileUnit - A wrapper for a compile unit.
@@ -128,11 +117,6 @@
     std::string getFilename() const  { return getStringField(3); }
     std::string getDirectory() const { return getStringField(4); }
     std::string getProducer() const  { return getStringField(5); }
-
-    static inline bool classof(const DICompileUnit *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return D->getTag() == dwarf::DW_TAG_compile_unit;
-    }
   };
 
   /// DIEnumerator - A wrapper for an enumerator (e.g. X and Y in 'enum {X,Y}').
@@ -144,10 +128,6 @@
     
     std::string getName() const  { return getStringField(1); }
     uint64_t getEnumValue() const { return getUInt64Field(2); }
-    static inline bool classof(const DIEnumerator *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return D->getTag() == dwarf::DW_TAG_enumerator;
-    }
   };
   
   /// DIType - This is a wrapper for a type.
@@ -200,13 +180,6 @@
       assert (0 && "Invalid DIDescriptor");
       return "";
     }
-
-    static inline bool classof(const DIType *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      unsigned Tag = D->getTag();
-      return isBasicType(Tag) || isDerivedType(Tag) || isCompositeType(Tag);
-    }
-
   };
   
   /// DIBasicType - A basic type, like 'int' or 'float'.
@@ -231,11 +204,6 @@
     DIType getTypeDerivedFrom() const { return getFieldAs<DIType>(9); }
     std::string getFilename() const { return getStringField(10); }
     std::string getDirectory() const { return getStringField(11); }
-
-    static inline bool classof(const DIDerivedType *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return isDerivedType(D->getTag());
-    }
   };
 
   
@@ -249,11 +217,6 @@
     DIArray getTypeArray() const { return getFieldAs<DIArray>(10); }
     std::string getFilename() const { return getStringField(11); }
     std::string getDirectory() const { return getStringField(12); }
-    
-    static inline bool classof(const DIDerivedType *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return isCompositeType(D->getTag());
-    }
   };
   
   /// DIGlobal - This is a common class for global variables and subprograms.
@@ -300,12 +263,6 @@
       assert (0 && "Invalid DIDescriptor");
       return "";
     }
-
-    static inline bool classof(const DIGlobal *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      unsigned Tag = D->getTag();
-      return isSubprogram(Tag) || isGlobalVariable(Tag);
-    }
   };
   
   
@@ -316,10 +273,6 @@
     std::string getFilename() const { return getStringField(11); }
     std::string getDirectory() const { return getStringField(12); }
     DICompositeType getType() const { return getFieldAs<DICompositeType>(8); }
-    static inline bool classof(const DISubprogram *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return isSubprogram(D->getTag());
-    }
   };
   
   /// DIGlobalVariable - This is a wrapper for a global variable.
@@ -330,10 +283,6 @@
     GlobalVariable *getGlobal() const { return getGlobalVariableField(11); }
     std::string getFilename() const { return getStringField(12); }
     std::string getDirectory() const { return getStringField(13); }
-    static inline bool classof(const DIGlobalVariable *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return isGlobalVariable(D->getTag());
-    }
   };
   
   
@@ -354,10 +303,6 @@
     
     /// isVariable - Return true if the specified tag is legal for DIVariable.
     static bool isVariable(unsigned Tag);
-    static inline bool classof(const DIVariable *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return isVariable(D->getTag());
-    }
   };
   
   
@@ -367,10 +312,6 @@
     explicit DIBlock(GlobalVariable *GV = 0);
     
     DIDescriptor getContext() const { return getDescriptorField(1); }
-    static inline bool classof(const DIBlock *) { return true; }
-    static inline bool classof(const DIDescriptor *D) {
-      return D->getTag() == dwarf::DW_TAG_lexical_block;
-    }
   };
   
   /// DIFactory - This object assists with the construction of the various





More information about the llvm-commits mailing list