From 3258ed6a361bf405a89f7af0b1885841d9909516 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 27 May 2006 00:40:15 +0000 Subject: [PATCH] Add a new sentry node type, allowing assertions to catch trivial use-after-deleted errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28513 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/SelectionDAGNodes.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 0dcd8017995..c5b9756de39 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -47,6 +47,10 @@ namespace ISD { /// SelectionDAG. /// enum NodeType { + // DELETED_NODE - This is an illegal flag value that is used to catch + // errors. This opcode is not a legal opcode for any node. + DELETED_NODE, + // EntryToken - This is the marker used to indicate the start of the region. EntryToken, @@ -712,6 +716,7 @@ class SDNode { public: virtual ~SDNode() { assert(NumOperands == 0 && "Operand list not cleared before deletion"); + NodeType = ISD::DELETED_NODE; } //===--------------------------------------------------------------------===//