CheckCast chains should only be removed for chains of size 2 or greater

Change-Id: Iae915d120ce0a210abcf04ae648d7e906628e0a1
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java b/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
index 6576097..63acc0a 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
@@ -2073,8 +2073,8 @@
             user.isCheckCast()
                 && appView.isSubtype(user.asCheckCast().getType(), castType).isTrue();
     if (!checkCast.getBlock().hasCatchHandlers()
-        && outValue.isUsed()
         && outValue.numberOfPhiUsers() == 0
+        && outValue.numberOfUsers() > 0
         && outValue.uniqueUsers().stream().allMatch(isCheckcastToSubtype)) {
       // The removeOrReplaceByDebugLocalWrite will propagate the incoming value for the CheckCast
       // to the users of the CheckCast's out value.