From 3445d9a72aec68512df265705e2be7704496f541 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Wed, 2 Sep 2009 17:05:05 +0000 Subject: [PATCH] Add const qualifiers to dominates' arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80801 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/Dominators.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 7622326ced9..5d1e8ecf128 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -404,11 +404,15 @@ public: 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(A)), + getNode(const_cast(B))); } NodeT *getRoot() const { @@ -736,15 +740,15 @@ public: 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 @@ public: 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) { -- 2.34.1