Version 2.0.100

Cherry-pick: Check highest register for limit when splitting spilled intervals.
CL: https://r8-review.googlesource.com/c/r8/+/53720
Bug: 167704467
Change-Id: I9f4122dfc6282037fe3c9790d65608874bd49dbc
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 5978320..cd0482d 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
 
   // This field is accessed from release scripts using simple pattern matching.
   // Therefore, changing this field could break our release scripts.
-  public static final String LABEL = "2.0.99";
+  public static final String LABEL = "2.0.100";
 
   private Version() {
   }
diff --git a/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java b/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
index 5dcdbd8..a45e1ff 100644
--- a/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
+++ b/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
@@ -2257,8 +2257,9 @@
     }
     LiveIntervalsUse firstUseWithLowerLimit = null;
     boolean hasUsesBeforeFirstUseWithLowerLimit = false;
+    int highestRegisterNumber = registerNumber + spilled.requiredRegisters() - 1;
     for (LiveIntervalsUse use : spilled.getUses()) {
-      if (registerNumber > use.getLimit()) {
+      if (highestRegisterNumber > use.getLimit()) {
         firstUseWithLowerLimit = use;
         break;
       } else {