diff options
| -rw-r--r-- | llvm/include/llvm/Analysis/Dominators.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/include/llvm/Analysis/Dominators.h b/llvm/include/llvm/Analysis/Dominators.h index c550fe0d308..c8e753c1495 100644 --- a/llvm/include/llvm/Analysis/Dominators.h +++ b/llvm/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(); |

