Hi!
Is it possible to get findNearestCommonDominator working for
post dominator trees by changing llvm/include/llvm/Analysis/Dominators.h
starting at line 432:
NodeT *findNearestCommonDominator(NodeT *A, NodeT *B) {
/*assert (!this->isPostDominator()
&& "This is not implemented for post dominators");*/
assert (A->getParent() == B->getParent()
&& "Two blocks are not in same function");
if (!this->isPostDominator())
{
// If either A or B is a entry block then it is nearest common
dominator.
NodeT &Entry = A->getParent()->front();
if (A == &Entry || B == &Entry)
return &Entry;
}
// If B dominates A then B is nearest common dominator.
if (dominates(B, A))
return B;
...
- Jochen
On Mar 23, 2010, at 7:33 AM, Jochen Wilhelmy wrote:> Hi! > > Is it possible to get findNearestCommonDominator working for > post dominator trees by changing llvm/include/llvm/Analysis/Dominators.h > starting at line 432:That looks right to me. I committed it as r99361. Dan
Apparently Analagous Threads
- [LLVMdev] findNearestCommonDominator
- [LLVMdev] findNearestCommonDominator
- [LLVMdev] findNearestCommonDominator for PostDominatorTree
- building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
- [LLVMdev] constness of APFloat::toString