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