From: Nick Lewycky Date: Tue, 12 Sep 2006 00:18:28 +0000 (+0000) Subject: Add ability to remove nodes from DominatorTree, for when a BasicBlock X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f19fb9b4f45acce221ba3c20f37d66ffc1735b54;p=oota-llvm.git 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 --- 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;