diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 778b4eab759..1d7e2f351c7 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() : 0; } - void getChildren(BasicBlock *A, std::vector& children) { + void getChildren(BasicBlock *A, std::vector& children) const { + if (!A) return; ETNode *NodeA = getNode(A); const ETNode* son = NodeA->getSon();