Fix missing trivial phi removal after array length optimization
Fixes: 173176042
Change-Id: I1b520a9020d24e767d71522bac5cadfcffb1224c
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 9207376..d3dc297 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
@@ -3439,6 +3439,7 @@
Instruction arrayDefinition = array.getDefinition();
assert arrayDefinition != null;
+ Set<Phi> phiUsers = arrayLength.outValue().uniquePhiUsers();
if (arrayDefinition.isNewArrayEmpty()) {
Value size = arrayDefinition.asNewArrayEmpty().size();
arrayLength.outValue().replaceUsers(size);
@@ -3447,7 +3448,11 @@
int size = (int) arrayDefinition.asNewArrayFilledData().size;
ConstNumber constSize = code.createIntConstant(size);
iterator.replaceCurrentInstruction(constSize);
+ } else {
+ continue;
}
+
+ phiUsers.forEach(Phi::removeTrivialPhi);
// TODO(139489070): static-get of constant array
}
assert code.isConsistentSSA();
diff --git a/tools/run_on_app_dump.py b/tools/run_on_app_dump.py
index b773e8e..1644895 100755
--- a/tools/run_on_app_dump.py
+++ b/tools/run_on_app_dump.py
@@ -342,8 +342,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/crane',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -355,8 +353,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/jetcaster',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -368,8 +364,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/jetchat',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -381,8 +375,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/jetnews',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -394,8 +386,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/jetsnack',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -407,8 +397,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/jetsurvey',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -420,8 +408,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/owl',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
# TODO(b/173167253): Check if monkey testing works.
App({
@@ -433,8 +419,6 @@
'url': 'https://github.com/android/compose-samples',
'revision': '779cf9e187b8ee2c6b620b2abb4524719b3f10f8',
'folder': 'android/compose-samples/rally',
- # TODO(b/173176042): Fix recompilation
- 'skip_recompilation': True,
}),
App({
'id': 'youtube_15_33',