commit | 28b91265448b043e8edb0f636c47aacd49007437 | [log] [tgz] |
---|---|---|
author | Christoffer Quist Adamsen <christofferqa@google.com> | Mon Mar 09 10:16:50 2020 +0100 |
committer | Christoffer Quist Adamsen <christofferqa@google.com> | Mon Mar 09 10:16:50 2020 +0100 |
tree | cce055c88d4ab820c1665b2a3272f4d52133380c | |
parent | 70ea3756954ad3a0cfaa2bb30fa4209db1b900fc [diff] |
Fix missing type propagation in processMethodsNeverReturningNormally() Change-Id: Iec3b2970ac199d253d3e999c8eff2faff7429d0a Bug: 151043073
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 f77eb9e..a8a4101 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
@@ -2703,7 +2703,10 @@ throwNullInsnIterator.replaceCurrentInstruction(notReachableThrow); } } - code.removeUnreachableBlocks(); + Set<Value> affectedValues = code.removeUnreachableBlocks(); + if (!affectedValues.isEmpty()) { + new TypeAnalysis(appView).narrowing(affectedValues); + } assert code.isConsistentSSA(); }