Avoid that shorten-live-ranges extends live ranges with phi users

Change-Id: I0de979cd5ce2f8fdbdd9a4c84dd7f534925a6d51
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 1cf1e36..d01e231 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
@@ -2013,7 +2013,13 @@
         userBlocks.add(user.getBlock());
       }
       for (Phi phi : instruction.outValue().uniquePhiUsers()) {
-        userBlocks.add(phi.getBlock());
+        int predecessorIndex = 0;
+        for (Value operand : phi.getOperands()) {
+          if (operand == instruction.outValue()) {
+            userBlocks.add(phi.getBlock().getPredecessors().get(predecessorIndex));
+          }
+          predecessorIndex++;
+        }
       }
       // Locate the closest dominator block for all user blocks.
       DominatorTree dominatorTree = dominatorTreeMemoization.computeIfAbsent();
diff --git a/src/test/java/com/android/tools/r8/smali/IfSimplificationTest.java b/src/test/java/com/android/tools/r8/smali/IfSimplificationTest.java
index 35dee6e..b9cf6c9 100644
--- a/src/test/java/com/android/tools/r8/smali/IfSimplificationTest.java
+++ b/src/test/java/com/android/tools/r8/smali/IfSimplificationTest.java
@@ -452,6 +452,6 @@
     // TODO(sgjesse): Maybe this test is too fragile, as it leaves quite a lot of code, so the
     // expectation might need changing with other optimizations.
     // TODO(zerny): Consider optimizing the fallthrough branch of conditionals to not be return.
-    assertEquals(24, code.instructions.length);
+    assertEquals(26, code.instructions.length);
   }
 }