From f19fb9b4f45acce221ba3c20f37d66ffc1735b54 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Tue, 12 Sep 2006 00:18:28 +0000 Subject: [PATCH] Add ability to remove nodes from DominatorTree, for when a BasicBlock is being removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30270 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/Dominators.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 085225505e3..55650f40b55 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -399,6 +399,14 @@ public: N->setIDom(NewIDom); } + /// removeNode - Removes a node from the dominator tree. Block must not + /// dominate any other blocks. Invalidates any node pointing to removed + /// block. + void removeNode(BasicBlock *BB) { + assert(getNode(BB) && "Removing node that isn't in dominator tree."); + Nodes.erase(BB); + } + /// print - Convert to human readable form /// virtual void print(std::ostream &OS, const Module* = 0) const;