Avoid constraining to bottom types
This is needed to prevent an Unreachable exception in ValueType.fromTypeLattice.
Bug: 119401913
Change-Id: Iaaa1205d88901b1dca899bf0fc42988edfe1b529
diff --git a/src/main/java/com/android/tools/r8/ir/code/Phi.java b/src/main/java/com/android/tools/r8/ir/code/Phi.java
index 566ab41..0ab1425 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Phi.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Phi.java
@@ -272,7 +272,7 @@
return;
}
// Ensure that the value that replaces this phi is constrained to the type of this phi.
- if (builder != null && typeLattice.isPreciseType()) {
+ if (builder != null && typeLattice.isPreciseType() && !typeLattice.isBottom()) {
builder.constrainType(same, ValueType.fromTypeLattice(typeLattice));
}
// Removing this phi, so get rid of it as a phi user from all of the operands to avoid