Give the SCEV class a SubclassData field.
authorDan Gohman <gohman@apple.com>
Fri, 24 Jul 2009 00:59:53 +0000 (00:59 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 24 Jul 2009 00:59:53 +0000 (00:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76927 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/ScalarEvolution.h

index a629df1d7bc43e81601e7220dd8c54bb1066b3fc..cfa504d67068e5f193f2a1ca029e99222a2fd954 100644 (file)
@@ -50,15 +50,22 @@ namespace llvm {
   /// directly.
   ///
   class SCEV : public FastFoldingSetNode {
-    const unsigned SCEVType;      // The SCEV baseclass this node corresponds to
+    // The SCEV baseclass this node corresponds to
+    const unsigned short SCEVType;
 
+  protected:
+    /// SubclassData - This field is initialized to zero and may be used in
+    /// subclasses to store miscelaneous information.
+    unsigned short SubclassData;
+
+  private:
     SCEV(const SCEV &);            // DO NOT IMPLEMENT
     void operator=(const SCEV &);  // DO NOT IMPLEMENT
   protected:
     virtual ~SCEV();
   public:
     explicit SCEV(const FoldingSetNodeID &ID, unsigned SCEVTy) :
-      FastFoldingSetNode(ID), SCEVType(SCEVTy) {}
+      FastFoldingSetNode(ID), SCEVType(SCEVTy), SubclassData(0) {}
 
     unsigned getSCEVType() const { return SCEVType; }