Fix some simple bugs. StrongPHIElimination now does not crash on 164.gzip.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45773 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp
index 3b201f7..eff02f1 100644
--- a/lib/CodeGen/StrongPHIElimination.cpp
+++ b/lib/CodeGen/StrongPHIElimination.cpp
@@ -178,7 +178,6 @@
else if (preorder[ABlock] > preorder[BBlock])
return false;
- assert(0 && "Error sorting by dominance!");
return false;
}
};
@@ -208,8 +207,9 @@
for (std::vector<unsigned>::iterator I = worklist.begin(), E = worklist.end();
I != E; ++I) {
unsigned pre = preorder[LV.getVarInfo(*I).DefInst->getParent()];
- MachineBasicBlock* parentBlock =
- LV.getVarInfo(CurrentParent->getReg()).DefInst->getParent();
+ MachineBasicBlock* parentBlock = CurrentParent->getReg() ?
+ LV.getVarInfo(CurrentParent->getReg()).DefInst->getParent() :
+ 0;
while (pre > maxpreorder[parentBlock]) {
stack.pop_back();