commit | aa1487f791c7bc131af817136cabff37e8f6828d | [log] [tgz] |
---|---|---|
author | Ian Zerny <zerny@google.com> | Tue Jan 26 11:23:33 2021 +0100 |
committer | Ian Zerny <zerny@google.com> | Tue Jan 26 11:23:33 2021 +0100 |
tree | b07f4da4a45a7613cd96329e10be5a554962516f | |
parent | 8fee928fbd1bb89d6e103c28150a39b8fc392ebb [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 82b3919..3205733 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
@@ -427,8 +427,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; } }