Fix wrong assumption in RemoveInstructionsAsUsersFromDeadBlocks.

It can be called in a situation where dead blocks can have phis:
the DCE pass would re-build the dominator tree and RemoveInstructionsAsUsersFromDeadBlocks
used to assume there cannot be phis.

Test: 695-simplify-throws
Bug: 131174581
Change-Id: I853956482487a8c7c8fb99499aef318d099754e4
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc
index f7c16d1..1940d55 100644
--- a/compiler/optimizing/nodes.cc
+++ b/compiler/optimizing/nodes.cc
@@ -147,7 +147,9 @@
     if (!visited.IsBitSet(i)) {
       HBasicBlock* block = blocks_[i];
       if (block == nullptr) continue;
-      DCHECK(block->GetPhis().IsEmpty()) << "Phis are not inserted at this stage";
+      for (HInstructionIterator it(block->GetPhis()); !it.Done(); it.Advance()) {
+        RemoveAsUser(it.Current());
+      }
       for (HInstructionIterator it(block->GetInstructions()); !it.Done(); it.Advance()) {
         RemoveAsUser(it.Current());
       }