}
/// Return the immediate dominator of A.
}
/// 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;
}
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();
ETNode *NodeA = getNode(A);
const ETNode* son = NodeA->getSon();