commit | ddd5e53431af53793ca427f836ea55d3517d1e31 | [log] [tgz] |
---|---|---|
author | Ian Zerny <zerny@google.com> | Tue Jan 26 11:05:57 2021 +0100 |
committer | Ian Zerny <zerny@google.com> | Tue Jan 26 11:05:57 2021 +0100 |
tree | 23f0dfa0100ac08730048c96a45ed16b675b4570 | |
parent | 6043955e45aba1088633c5d38268b424f8eb1085 [diff] |
Consider all users when determining only-used-in-block. Bug: 175332495 Change-Id: I9642ed4a0a744f17e14337d6c997b8c8d932b770
diff --git a/src/main/java/com/android/tools/r8/ir/code/Value.java b/src/main/java/com/android/tools/r8/ir/code/Value.java index b842c63..7469e3a 100644 --- a/src/main/java/com/android/tools/r8/ir/code/Value.java +++ b/src/main/java/com/android/tools/r8/ir/code/Value.java
@@ -327,8 +327,11 @@ } public boolean onlyUsedInBlock(BasicBlock block) { - for (Instruction user : uniqueUsers()) { - if (user.getBlock() != block) { + if (hasPhiUsers() || hasDebugUsers()) { + return false; + } + for (Phi phiUser : uniquePhiUsers()) { + if (phiUser.getBlock() != block) { return false; } }