Remove use of reference equality in FilledNewArrayRewriter

Change-Id: Id2dfbb3b8784016072f44d3c728c63be07d93d86
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/passes/FilledNewArrayRewriter.java b/src/main/java/com/android/tools/r8/ir/conversion/passes/FilledNewArrayRewriter.java
index e269dc1..fc717f8 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/passes/FilledNewArrayRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/passes/FilledNewArrayRewriter.java
@@ -114,7 +114,6 @@
     return CodeRewriterResult.HAS_CHANGED;
   }
 
-  @SuppressWarnings("ReferenceEquality")
   private boolean canUseNewArrayFilled(NewArrayFilled newArrayFilled) {
     if (!options.isGeneratingDex()) {
       return false;
@@ -125,7 +124,7 @@
     }
     // filled-new-array is implemented only for int[] and Object[].
     DexType arrayType = newArrayFilled.getArrayType();
-    if (arrayType == dexItemFactory.intArrayType) {
+    if (arrayType.isIdenticalTo(dexItemFactory.intArrayType)) {
       // For int[], using filled-new-array is usually smaller than filled-array-data.
       // filled-new-array supports up to 5 registers before it's filled-new-array/range.
       if (size > rewriteArrayOptions.maxSizeForFilledNewArrayOfInts) {
@@ -143,7 +142,7 @@
       if (size > rewriteArrayOptions.maxSizeForFilledNewArrayOfReferences) {
         return false;
       }
-      if (arrayType == dexItemFactory.stringArrayType) {
+      if (arrayType.isIdenticalTo(dexItemFactory.stringArrayType)) {
         return rewriteArrayOptions.canUseFilledNewArrayOfStrings();
       }
       if (!rewriteArrayOptions.canUseFilledNewArrayOfNonStringObjects()) {
@@ -155,7 +154,7 @@
       }
       // Check that all arguments to the array is the array type or that the array is type Object[].
       if (rewriteArrayOptions.canHaveSubTypesInFilledNewArrayBug()
-          && arrayType != dexItemFactory.objectArrayType
+          && arrayType.isNotIdenticalTo(dexItemFactory.objectArrayType)
           && !arrayType.isPrimitiveArrayType()) {
         DexType arrayElementType = arrayType.toArrayElementType(dexItemFactory);
         for (Value elementValue : newArrayFilled.inValues()) {
@@ -169,9 +168,8 @@
     return false;
   }
 
-  @SuppressWarnings("ReferenceEquality")
   private boolean canStoreElementInNewArrayFilled(TypeElement valueType, DexType elementType) {
-    if (elementType == dexItemFactory.objectType) {
+    if (elementType.isIdenticalTo(dexItemFactory.objectType)) {
       return true;
     }
     if (valueType.isNullType() && !elementType.isPrimitiveType()) {