Remove more redundant blocks

Change-Id: I5d758440e910d0b64cf6504d67405b808f1a064e
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java b/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java
index 8d2b4bb..9c94862 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/ClassInitializerDefaultsOptimization.java
@@ -301,6 +301,9 @@
       fieldsWithStaticValues.forEach(DexEncodedField::setStaticValue);
     }
 
+    if (!fieldsWithStaticValues.isEmpty()) {
+      code.removeRedundantBlocks();
+    }
     return new ClassInitializerDefaultsResult(fieldsWithStaticValues);
   }
 
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/RuntimeWorkaroundCodeRewriter.java b/src/main/java/com/android/tools/r8/ir/optimize/RuntimeWorkaroundCodeRewriter.java
index 855f985..02e3b25 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/RuntimeWorkaroundCodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/RuntimeWorkaroundCodeRewriter.java
@@ -78,7 +78,7 @@
   }
 
   private static void rewriteSwitchForMaxIntOnly(IRCode code, AppView<?> appView) {
-    boolean needToSplitCriticalEdges = false;
+    boolean hasChanged = false;
     BranchSimplifier branchSimplifier = new BranchSimplifier(appView);
     ListIterator<BasicBlock> blocksIterator = code.listIterator();
     while (blocksIterator.hasNext()) {
@@ -108,7 +108,7 @@
                   ImmutableList.of(newSwitchSequences),
                   outliers);
             }
-            needToSplitCriticalEdges = true;
+            hasChanged = true;
           }
         }
       }
@@ -117,8 +117,9 @@
     // Rewriting of switches introduces new branching structure. It relies on critical edges
     // being split on the way in but does not maintain this property. We therefore split
     // critical edges at exit.
-    if (needToSplitCriticalEdges) {
+    if (hasChanged) {
       code.splitCriticalEdges();
+      code.removeRedundantBlocks();
     }
   }