This is supposed to be a preorder numbering of the dominator tree, not the CFG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73257 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LazyLiveness.cpp b/lib/CodeGen/LazyLiveness.cpp
index 85817da..4b2d737 100644
--- a/lib/CodeGen/LazyLiveness.cpp
+++ b/lib/CodeGen/LazyLiveness.cpp
@@ -62,13 +62,14 @@
preorder.clear();
MRI = &mf.getRegInfo();
+ MachineDominatorTree& MDT = getAnalysis<MachineDominatorTree>();
// Step 0: Compute preorder numbering for all MBBs.
unsigned num = 0;
- for (df_iterator<MachineBasicBlock*> DI = df_begin(&*mf.begin());
- DI != df_end(&*mf.begin()); ++DI) {
- preorder[*DI] = num++;
- rev_preorder.push_back(*DI);
+ for (df_iterator<MachineDomTreeNode*> DI = df_begin(MDT.getRootNode());
+ DI != df_end(MDT.getRootNode()); ++DI) {
+ preorder[(*DI)->getBlock()] = num++;
+ rev_preorder.push_back((*DI)->getBlock());
}
// Step 1: Compute the transitive closure of the CFG, ignoring backedges.