From 0ab301c5fa5656b812db8cc944ab41259c8990dc Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Fri, 8 Jun 2007 00:21:17 +0000 Subject: [PATCH] Add new method - nearestCommonDominator(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37508 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/Dominators.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index d1fc5eb05a9..6f2b2c03cfb 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -185,6 +185,17 @@ protected: void updateDFSNumbers(); + /// Return the nearest common dominator of A and B. + BasicBlock *nearestCommonDominator(BasicBlock *A, BasicBlock *B) const { + ETNode *NodeA = getNode(A)->getETNode(); + ETNode *NodeB = getNode(B)->getETNode(); + + ETNode *Common = NodeA->NCA(NodeB); + if (!Common) + return NULL; + return Common->getData(); + } + /// dominates - Returns true iff this dominates N. Note that this is not a /// constant time operation! /// -- 2.34.1