[LIR] Don't clear move-exception out values.

Change-Id: Ib2a560e224bcfc58c1b14386d9eb154ff46c2af4
diff --git a/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java b/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
index 3bf81f0..e20ead3 100644
--- a/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
+++ b/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
@@ -192,7 +192,10 @@
         blockList.add(block);
         // LIR has no value-user info so after building is done, removed unused values.
         for (Instruction instruction : block.getInstructions()) {
-          if (!instruction.isArgument() && instruction.hasUnusedOutValue()) {
+          if (instruction.hasOutValue()
+              && !instruction.isArgument()
+              && !instruction.isMoveException()
+              && instruction.hasUnusedOutValue()) {
             instruction.clearOutValue();
           }
         }