Add flag that may be used to determine if dead nodes are used. It's temporary
authorChris Lattner <sabre@nondot.org>
Fri, 8 Nov 2002 01:22:26 +0000 (01:22 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 8 Nov 2002 01:22:26 +0000 (01:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4620 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DSNode.h
include/llvm/Analysis/DataStructure/DSNode.h

index 403b4fa23ac63a810b70fc7c68cf34d68a5964d8..346188da88e54d92c69c61667604ea3b2c5bdda3 100644 (file)
@@ -56,6 +56,9 @@ public:
     Incomplete  = 1 << 4,   // This node may not be complete
     Modified    = 1 << 5,   // This node is modified in this context
     Read        = 1 << 6,   // This node is read in this context
+#if 1
+    DEAD        = 1 << 7,   // This node is dead and should not be pointed to
+#endif
   };
   
   /// NodeType - A union of the above bits.  "Shadow" nodes do not add any flags
@@ -208,11 +211,11 @@ private:
 //===----------------------------------------------------------------------===//
 // Define inline DSNodeHandle functions that depend on the definition of DSNode
 //
-
 inline void DSNodeHandle::setNode(DSNode *n) {
   if (N) N->removeReferrer(this);
   N = n;
   if (N) N->addReferrer(this);
+  assert(!N || ((N->NodeType & DSNode::DEAD) == 0));
 }
 
 inline bool DSNodeHandle::hasLink(unsigned Num) const {
index 403b4fa23ac63a810b70fc7c68cf34d68a5964d8..346188da88e54d92c69c61667604ea3b2c5bdda3 100644 (file)
@@ -56,6 +56,9 @@ public:
     Incomplete  = 1 << 4,   // This node may not be complete
     Modified    = 1 << 5,   // This node is modified in this context
     Read        = 1 << 6,   // This node is read in this context
+#if 1
+    DEAD        = 1 << 7,   // This node is dead and should not be pointed to
+#endif
   };
   
   /// NodeType - A union of the above bits.  "Shadow" nodes do not add any flags
@@ -208,11 +211,11 @@ private:
 //===----------------------------------------------------------------------===//
 // Define inline DSNodeHandle functions that depend on the definition of DSNode
 //
-
 inline void DSNodeHandle::setNode(DSNode *n) {
   if (N) N->removeReferrer(this);
   N = n;
   if (N) N->addReferrer(this);
+  assert(!N || ((N->NodeType & DSNode::DEAD) == 0));
 }
 
 inline bool DSNodeHandle::hasLink(unsigned Num) const {