Handle assume users in enum values analysis

Fixes: 184818685
Change-Id: Ia1d6f21b388234af66c94546621786527c678c5a
diff --git a/src/main/java/com/android/tools/r8/ir/analysis/fieldvalueanalysis/StaticFieldValueAnalysis.java b/src/main/java/com/android/tools/r8/ir/analysis/fieldvalueanalysis/StaticFieldValueAnalysis.java
index 13d03d5..ae6d517 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/fieldvalueanalysis/StaticFieldValueAnalysis.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/fieldvalueanalysis/StaticFieldValueAnalysis.java
@@ -5,6 +5,7 @@
 package com.android.tools.r8.ir.analysis.fieldvalueanalysis;
 
 import static com.android.tools.r8.ir.code.Opcodes.ARRAY_PUT;
+import static com.android.tools.r8.ir.code.Opcodes.ASSUME;
 import static com.android.tools.r8.ir.code.Opcodes.INVOKE_DIRECT;
 import static com.android.tools.r8.ir.code.Opcodes.STATIC_PUT;
 
@@ -273,7 +274,7 @@
 
     ObjectState[] valuesState = new ObjectState[valuesSize];
     DexEncodedField valuesField = null;
-    for (Instruction user : value.uniqueUsers()) {
+    for (Instruction user : value.aliasedUsers()) {
       switch (user.opcode()) {
         case ARRAY_PUT:
           ArrayPut arrayPut = user.asArrayPut();
@@ -301,6 +302,12 @@
           valuesState[index] = objectState;
           break;
 
+        case ASSUME:
+          if (user.outValue().hasPhiUsers()) {
+            return null;
+          }
+          break;
+
         case STATIC_PUT:
           DexEncodedField field =
               context.getHolder().lookupStaticField(user.asStaticPut().getField());