Implement evaluate for label

Change-Id: Ia5dc040b210cc8282d30ed9bbb73eca68591e90d
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfLabel.java b/src/main/java/com/android/tools/r8/cf/code/CfLabel.java
index 4bd20a2..0e1ee11 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfLabel.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfLabel.java
@@ -4,7 +4,6 @@
 package com.android.tools.r8.cf.code;
 
 import com.android.tools.r8.cf.CfPrinter;
-import com.android.tools.r8.errors.Unimplemented;
 import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.graph.CfCode;
 import com.android.tools.r8.graph.CfCompareHelper;
@@ -102,7 +101,7 @@
       DexMethod context,
       AppView<?> appView,
       DexItemFactory dexItemFactory) {
-    frameBuilder.seenLabel(this);
+    // Intentionally empty.
   }
 
   @Override
@@ -111,7 +110,6 @@
       ProgramMethod context,
       AppView<?> appView,
       DexItemFactory dexItemFactory) {
-    // TODO(b/214496607): Implement this.
-    throw new Unimplemented();
+    return frame;
   }
 }
diff --git a/src/main/java/com/android/tools/r8/graph/CfCode.java b/src/main/java/com/android/tools/r8/graph/CfCode.java
index 51c9868..62eb396 100644
--- a/src/main/java/com/android/tools/r8/graph/CfCode.java
+++ b/src/main/java/com/android/tools/r8/graph/CfCode.java
@@ -981,6 +981,9 @@
           assert !instruction.isStore();
           builder.checkExceptionEdges();
         }
+        if (instruction.isLabel()) {
+          builder.seenLabel(instruction.asLabel());
+        }
         instruction.evaluate(builder, previousMethodSignature, appView, appView.dexItemFactory());
       } catch (CfCodeStackMapValidatingException ex) {
         return reportStackMapError(