[llvm-commits] CVS: llvm/lib/VMCore/Dominators.cpp

Devang Patel dpatel at apple.com
Tue Jun 12 10:18:19 PDT 2007



Changes in directory llvm/lib/VMCore:

Dominators.cpp updated: 1.114 -> 1.115
---
Log message:

Check A dominates B and vise versa first while searching for nearest
common dominator.


---
Diffs of the changes:  (+4 -8)

 Dominators.cpp |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)


Index: llvm/lib/VMCore/Dominators.cpp
diff -u llvm/lib/VMCore/Dominators.cpp:1.114 llvm/lib/VMCore/Dominators.cpp:1.115
--- llvm/lib/VMCore/Dominators.cpp:1.114	Mon Jun 11 19:54:38 2007
+++ llvm/lib/VMCore/Dominators.cpp	Tue Jun 12 12:17:57 2007
@@ -387,12 +387,12 @@
 
   DomTreeNode *NodeB = getNode(B);
 
-  // If B immediately dominates A then B is nearest common dominator.
-  if (NodeA->getIDom() == NodeB)
+  // If B dominates A then B is nearest common dominator.
+  if (dominates(B,A))
     return B;
 
-  // If A immediately dominates B then A is nearest common dominator.
-  if (NodeB->getIDom() == NodeA) 
+  // If A dominates B then A is nearest common dominator.
+  if (dominates(A,B))
     return A;
 
   // Collect NodeA dominators set.
@@ -404,10 +404,6 @@
     IDomA = IDomA->getIDom();
   }
 
-  // If B dominates A then B is nearest common dominator.
-  if (NodeADoms.count(NodeB) != 0)
-    return B;
-
   // Walk NodeB immediate dominators chain and find common dominator node.
   DomTreeNode *IDomB = NodeB->getIDom();
   while(IDomB) {






More information about the llvm-commits mailing list