commit | e9b73736c5f1f59d29cc40de6629915920dde77c | [log] [tgz] |
---|---|---|
author | Ian Zerny <zerny@google.com> | Tue Mar 21 12:52:21 2023 +0100 |
committer | Ian Zerny <zerny@google.com> | Tue Mar 21 11:53:59 2023 +0000 |
tree | 59a4bba8ca43d9785858beea8ccf7d11b58987c2 | |
parent | 6add0b7c41d927c1cde0b0dd6ea22cd3c8a1b836 [diff] |
[LIR] Don't clear move-exception out values. Change-Id: Ib2a560e224bcfc58c1b14386d9eb154ff46c2af4
diff --git a/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java b/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java index 3bf81f0..e20ead3 100644 --- a/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java +++ b/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
@@ -192,7 +192,10 @@ blockList.add(block); // LIR has no value-user info so after building is done, removed unused values. for (Instruction instruction : block.getInstructions()) { - if (!instruction.isArgument() && instruction.hasUnusedOutValue()) { + if (instruction.hasOutValue() + && !instruction.isArgument() + && !instruction.isMoveException() + && instruction.hasUnusedOutValue()) { instruction.clearOutValue(); } }