It is not possible to determine dominance between two PHI nodes
authorDevang Patel <dpatel@apple.com>
Wed, 28 Mar 2007 14:57:43 +0000 (14:57 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 28 Mar 2007 14:57:43 +0000 (14:57 +0000)
based on their ordering. This is applicable to ETForest::dominates() also.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35423 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Dominators.cpp

index 1421cf14e7d37fac56f5eeae78caf10d0aa39780..9bd51bf4d91d59c89a79c982b5bc6d8164c066f7 100644 (file)
@@ -952,6 +952,11 @@ bool ETForestBase::dominates(Instruction *A, Instruction *B) {
   BasicBlock::iterator I = BBA->begin();
   for (; &*I != A && &*I != B; ++I) /*empty*/;
   
+  // It is not possible to determine dominance between two PHI nodes 
+  // based on their ordering.
+  if (isa<PHINode>(A) && isa<PHINode>(B)) 
+    return false;
+
   if(!IsPostDominators) {
     // A dominates B if it is found first in the basic block.
     return &*I == A;