forked from OSchip/llvm-project
Remove unnecessary IDom check
Summary: This Idom check seems unnecessary. The immediate children of a node on the Dominator Tree should always be the IDom of its immediate children in this case. Reviewers: hfinkel, majnemer, dberlin Reviewed By: dberlin Subscribers: dberlin, davide, llvm-commits Differential Revision: https://reviews.llvm.org/D26954 llvm-svn: 298232
This commit is contained in:
parent
ff9749f759
commit
cbf04d95e6
|
@ -164,13 +164,14 @@ static bool SinkInstruction(Instruction *Inst,
|
|||
|
||||
// Instructions can only be sunk if all their uses are in blocks
|
||||
// dominated by one of the successors.
|
||||
// Look at all the postdominators and see if we can sink it in one.
|
||||
// Look at all the dominated blocks and see if we can sink it in one.
|
||||
DomTreeNode *DTN = DT.getNode(Inst->getParent());
|
||||
for (DomTreeNode::iterator I = DTN->begin(), E = DTN->end();
|
||||
I != E && SuccToSinkTo == nullptr; ++I) {
|
||||
BasicBlock *Candidate = (*I)->getBlock();
|
||||
if ((*I)->getIDom()->getBlock() == Inst->getParent() &&
|
||||
IsAcceptableTarget(Inst, Candidate, DT, LI))
|
||||
// A node always immediate-dominates its children on the dominator
|
||||
// tree.
|
||||
if (IsAcceptableTarget(Inst, Candidate, DT, LI))
|
||||
SuccToSinkTo = Candidate;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue