diff options
author | Chris Lattner <sabre@nondot.org> | 2005-04-25 20:50:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-04-25 20:50:33 +0000 |
commit | 91bd25d9dfe050ec0cc549f2f5d2e83f91739732 (patch) | |
tree | a89455940ada4b1e83889beba1027e851f657f13 /lib/VMCore/Dominators.cpp | |
parent | 14fc5c1c05d04972375ee59a22bc7fbaf69c6e76 (diff) | |
download | llvm-91bd25d9dfe050ec0cc549f2f5d2e83f91739732.tar.gz llvm-91bd25d9dfe050ec0cc549f2f5d2e83f91739732.tar.bz2 llvm-91bd25d9dfe050ec0cc549f2f5d2e83f91739732.tar.xz |
Make dominates(A,B) work with post dominators. Patch contributed by
Naveen Neelakantam, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21543 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Dominators.cpp')
-rw-r--r-- | lib/VMCore/Dominators.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/VMCore/Dominators.cpp b/lib/VMCore/Dominators.cpp index a59bd4eb06..04fef95552 100644 --- a/lib/VMCore/Dominators.cpp +++ b/lib/VMCore/Dominators.cpp @@ -245,8 +245,13 @@ bool DominatorSetBase::dominates(Instruction *A, Instruction *B) const { BasicBlock::iterator I = BBA->begin(); for (; &*I != A && &*I != B; ++I) /*empty*/; - // A dominates B if it is found first in the basic block... - return &*I == A; + if(!IsPostDominators) { + // A dominates B if it is found first in the basic block. + return &*I == A; + } else { + // A post-dominates B if B is found first in the basic block. + return &*I == B; + } } |