mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
Constify properlyDominates in the same manner as dominates.
Add constified overloads for findNearestCommonDominator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114834 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
48fd5a79e0
commit
e6098b6205
@ -361,8 +361,15 @@ public:
|
|||||||
return dominatedBySlowTreeWalk(A, B);
|
return dominatedBySlowTreeWalk(A, B);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool properlyDominates(NodeT *A, NodeT *B) {
|
inline bool properlyDominates(const NodeT *A, const NodeT *B) {
|
||||||
return properlyDominates(getNode(A), getNode(B));
|
if (A == B)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Cast away the const qualifiers here. This is ok since
|
||||||
|
// this function doesn't actually return the values returned
|
||||||
|
// from getNode.
|
||||||
|
return properlyDominates(getNode(const_cast<NodeT *>(A)),
|
||||||
|
getNode(const_cast<NodeT *>(B)));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool dominatedBySlowTreeWalk(const DomTreeNodeBase<NodeT> *A,
|
bool dominatedBySlowTreeWalk(const DomTreeNodeBase<NodeT> *A,
|
||||||
@ -478,6 +485,13 @@ public:
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const NodeT *findNearestCommonDominator(const NodeT *A, const NodeT *B) {
|
||||||
|
// Cast away the const qualifiers here. This is ok since
|
||||||
|
// const is re-introduced on the return type.
|
||||||
|
return findNearestCommonDominator(const_cast<NodeT *>(A),
|
||||||
|
const_cast<NodeT *>(B));
|
||||||
|
}
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
// API to update (Post)DominatorTree information based on modifications to
|
// API to update (Post)DominatorTree information based on modifications to
|
||||||
// the CFG...
|
// the CFG...
|
||||||
@ -767,7 +781,7 @@ public:
|
|||||||
return DT->properlyDominates(A, B);
|
return DT->properlyDominates(A, B);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool properlyDominates(BasicBlock *A, BasicBlock *B) const {
|
bool properlyDominates(const BasicBlock *A, const BasicBlock *B) const {
|
||||||
return DT->properlyDominates(A, B);
|
return DT->properlyDominates(A, B);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -777,6 +791,11 @@ public:
|
|||||||
return DT->findNearestCommonDominator(A, B);
|
return DT->findNearestCommonDominator(A, B);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline const BasicBlock *findNearestCommonDominator(const BasicBlock *A,
|
||||||
|
const BasicBlock *B) {
|
||||||
|
return DT->findNearestCommonDominator(A, B);
|
||||||
|
}
|
||||||
|
|
||||||
inline DomTreeNode *operator[](BasicBlock *BB) const {
|
inline DomTreeNode *operator[](BasicBlock *BB) const {
|
||||||
return DT->getNode(BB);
|
return DT->getNode(BB);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user