diff options
-rw-r--r-- | include/llvm/Analysis/Dominators.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 778b4eab75..1d7e2f351c 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -322,13 +322,16 @@ public: } /// Return the immediate dominator of A. - BasicBlock *getIDom(BasicBlock *A) { + BasicBlock *getIDom(BasicBlock *A) const { + if (!A) return 0; + ETNode *NodeA = getNode(A); const ETNode *idom = NodeA->getFather(); return idom ? idom->getData<BasicBlock>() : 0; } - void getChildren(BasicBlock *A, std::vector<BasicBlock*>& children) { + void getChildren(BasicBlock *A, std::vector<BasicBlock*>& children) const { + if (!A) return; ETNode *NodeA = getNode(A); const ETNode* son = NodeA->getSon(); |