[llvm-commits] [llvm] r80801 - /llvm/trunk/include/llvm/Analysis/Dominators.h
Dan Gohman
gohman at apple.com
Wed Sep 2 10:05:06 PDT 2009
Author: djg
Date: Wed Sep 2 12:05:05 2009
New Revision: 80801
URL: http://llvm.org/viewvc/llvm-project?rev=80801&view=rev
Log:
Add const qualifiers to dominates' arguments.
Modified:
llvm/trunk/include/llvm/Analysis/Dominators.h
Modified: llvm/trunk/include/llvm/Analysis/Dominators.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/Dominators.h?rev=80801&r1=80800&r2=80801&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/Dominators.h (original)
+++ llvm/trunk/include/llvm/Analysis/Dominators.h Wed Sep 2 12:05:05 2009
@@ -404,11 +404,15 @@
return dominatedBySlowTreeWalk(A, B);
}
- inline bool dominates(NodeT *A, NodeT *B) {
+ inline bool dominates(const NodeT *A, const NodeT *B) {
if (A == B)
return true;
- return dominates(getNode(A), getNode(B));
+ // Cast away the const qualifiers here. This is ok since
+ // this function doesn't actually return the values returned
+ // from getNode.
+ return dominates(getNode(const_cast<NodeT *>(A)),
+ getNode(const_cast<NodeT *>(B)));
}
NodeT *getRoot() const {
@@ -736,15 +740,15 @@
return DT->dominates(A, B);
}
- inline bool dominates(BasicBlock* A, BasicBlock* B) const {
+ inline bool dominates(const BasicBlock* A, const BasicBlock* B) const {
return DT->dominates(A, B);
}
// dominates - Return true if A dominates B. This performs the
// special checks necessary if A and B are in the same basic block.
- bool dominates(Instruction *A, Instruction *B) const {
- BasicBlock *BBA = A->getParent(), *BBB = B->getParent();
- if (BBA != BBB) return DT->dominates(BBA, BBB);
+ bool dominates(const Instruction *A, const Instruction *B) const {
+ const BasicBlock *BBA = A->getParent(), *BBB = B->getParent();
+ if (BBA != BBB) return dominates(BBA, BBB);
// It is not possible to determine dominance between two PHI nodes
// based on their ordering.
@@ -752,7 +756,7 @@
return false;
// Loop through the basic block until we find A or B.
- BasicBlock::iterator I = BBA->begin();
+ BasicBlock::const_iterator I = BBA->begin();
for (; &*I != A && &*I != B; ++I) /*empty*/;
//if(!DT.IsPostDominators) {
More information about the llvm-commits
mailing list