diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index c550fe0d308..c8e753c1495 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -320,6 +320,13 @@ public: return NULL; return Common->getData(); } + + /// Return the immediate dominator of A. + BasicBlock *getIDom(BasicBlock *A) { + ETNode *NodeA = getNode(A); + const ETNode *idom = NodeA->getFather(); + return idom ? idom->getData() : 0; + } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll();