diff options
-rw-r--r-- | include/llvm/Analysis/Dominators.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index c550fe0d30..c8e753c149 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -320,6 +320,13 @@ public: return NULL; return Common->getData<BasicBlock>(); } + + /// Return the immediate dominator of A. + BasicBlock *getIDom(BasicBlock *A) { + ETNode *NodeA = getNode(A); + const ETNode *idom = NodeA->getFather(); + return idom ? idom->getData<BasicBlock>() : 0; + } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); |