From 7b9e8b26dbe44a924bb6261769529df8ad141fad Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 24 Jul 2009 00:59:53 +0000 Subject: [PATCH] Give the SCEV class a SubclassData field. llvm-svn: 76927 --- include/llvm/Analysis/ScalarEvolution.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index a629df1d7bc..cfa504d6706 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -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; }