Author: Carl Friedrich Bolz <[email protected]>
Branch: regalloc-playground
Changeset: r92207:50dd22a26d67
Date: 2017-08-22 15:10 +0200
http://bitbucket.org/pypy/pypy/changeset/50dd22a26d67/

Log:    simplify

diff --git a/rpython/jit/backend/llsupport/regalloc.py 
b/rpython/jit/backend/llsupport/regalloc.py
--- a/rpython/jit/backend/llsupport/regalloc.py
+++ b/rpython/jit/backend/llsupport/regalloc.py
@@ -881,7 +881,7 @@
             assert opindex > self.index_lifetimes[-1][0]
         self.index_lifetimes.append((opindex, varlifetime))
 
-    def compute_free_until_pos(self, opindex):
+    def free_until_pos(self, opindex):
         for (index, varlifetime) in self.index_lifetimes:
             if opindex <= index:
                 if varlifetime is not None and varlifetime.definition_pos >= 
opindex:
@@ -914,7 +914,7 @@
             self.fixed_register_use[register] = 
FixedRegisterPositions(register)
         self.fixed_register_use[register].fixed_register(opindex, varlifetime)
 
-    def compute_longest_free_reg(self, position, free_regs):
+    def longest_free_reg(self, position, free_regs):
         """ for every register in free_regs, compute how far into the
         future that register can remain free, according to the constraints of
         the fixed registers. Find the register that is free the longest. 
Return a tuple
@@ -927,7 +927,7 @@
             if fixed_reg_pos is None:
                 return reg, sys.maxint
             else:
-                free_until_pos = fixed_reg_pos.compute_free_until_pos(position)
+                free_until_pos = fixed_reg_pos.free_until_pos(position)
                 if free_until_pos > max_free_pos:
                     best_reg = reg
                     max_free_pos = free_until_pos
diff --git a/rpython/jit/backend/llsupport/test/test_regalloc.py 
b/rpython/jit/backend/llsupport/test/test_regalloc.py
--- a/rpython/jit/backend/llsupport/test/test_regalloc.py
+++ b/rpython/jit/backend/llsupport/test/test_regalloc.py
@@ -168,35 +168,31 @@
     assert fpr2.index_lifetimes == [(4, None)]
 
 
-def test_compute_free_until_pos_none():
+def test_free_until_pos_none():
     longevity = LifetimeManager({})
-    longevity.fixed_register(1, r0, None)
-    longevity.fixed_register(4, r2, None)
     longevity.fixed_register(5, r1, None)
     longevity.fixed_register(8, r1, None)
     longevity.fixed_register(35, r1, None)
 
     fpr1 = longevity.fixed_register_use[r1]
 
-    assert fpr1.compute_free_until_pos(0) == 5
-    assert fpr1.compute_free_until_pos(1) == 5
-    assert fpr1.compute_free_until_pos(2) == 5
-    assert fpr1.compute_free_until_pos(3) == 5
-    assert fpr1.compute_free_until_pos(4) == 5
-    assert fpr1.compute_free_until_pos(5) == 5
-    assert fpr1.compute_free_until_pos(10) == 35
-    assert fpr1.compute_free_until_pos(20) == 35
-    assert fpr1.compute_free_until_pos(30) == 35
-    assert fpr1.compute_free_until_pos(36) == sys.maxint
+    assert fpr1.free_until_pos(0) == 5
+    assert fpr1.free_until_pos(1) == 5
+    assert fpr1.free_until_pos(2) == 5
+    assert fpr1.free_until_pos(3) == 5
+    assert fpr1.free_until_pos(4) == 5
+    assert fpr1.free_until_pos(5) == 5
+    assert fpr1.free_until_pos(10) == 35
+    assert fpr1.free_until_pos(20) == 35
+    assert fpr1.free_until_pos(30) == 35
+    assert fpr1.free_until_pos(36) == sys.maxint
 
-def test_compute_free_until_pos():
+def test_free_until_pos():
     b0, b1, b2 = newboxes(0, 0, 0)
     l0 = Lifetime(0, 5)
     l1 = Lifetime(2, 9)
     l2 = Lifetime(30, 40)
     longevity = LifetimeManager({b0: l0, b1: l1, b2: l2})
-    longevity.fixed_register(1, r0, b0)
-    longevity.fixed_register(4, r2, b0)
     longevity.fixed_register(5, r1, b1)
     longevity.fixed_register(8, r1, b1)
     longevity.fixed_register(35, r1, b2)
@@ -206,31 +202,32 @@
     # simple cases: we are before the beginning of the lifetime of the variable
     # in the fixed register, then it's free until the definition of the
     # variable
-    assert fpr1.compute_free_until_pos(0) == 2
-    assert fpr1.compute_free_until_pos(1) == 2
-    assert fpr1.compute_free_until_pos(2) == 2
-    assert fpr1.compute_free_until_pos(10) == 30
-    assert fpr1.compute_free_until_pos(20) == 30
-    assert fpr1.compute_free_until_pos(30) == 30
+    assert fpr1.free_until_pos(0) == 2
+    assert fpr1.free_until_pos(1) == 2
+    assert fpr1.free_until_pos(2) == 2
+    assert fpr1.free_until_pos(10) == 30
+    assert fpr1.free_until_pos(20) == 30
+    assert fpr1.free_until_pos(30) == 30
 
     # after the fixed use, we are fined anyway
-    assert fpr1.compute_free_until_pos(36) == sys.maxint
-    assert fpr1.compute_free_until_pos(50) == sys.maxint
+    assert fpr1.free_until_pos(36) == sys.maxint
+    assert fpr1.free_until_pos(50) == sys.maxint
 
     # asking for a position *after* the definition of the variable in the fixed
     # register means the variable didn't make it into the fixed register, but
     # at the latest by the use point it will have to go there
-    assert fpr1.compute_free_until_pos(3) == 5
-    assert fpr1.compute_free_until_pos(4) == 5
-    assert fpr1.compute_free_until_pos(5) == 5
-    assert fpr1.compute_free_until_pos(6) == 8
-    assert fpr1.compute_free_until_pos(7) == 8
-    assert fpr1.compute_free_until_pos(8) == 8
-    assert fpr1.compute_free_until_pos(31) == 35
-    assert fpr1.compute_free_until_pos(32) == 35
-    assert fpr1.compute_free_until_pos(33) == 35
-    assert fpr1.compute_free_until_pos(34) == 35
-    assert fpr1.compute_free_until_pos(35) == 35
+    assert fpr1.free_until_pos(3) == 5
+    assert fpr1.free_until_pos(4) == 5
+    assert fpr1.free_until_pos(5) == 5
+    assert fpr1.free_until_pos(6) == 8
+    assert fpr1.free_until_pos(7) == 8
+    assert fpr1.free_until_pos(8) == 8
+    assert fpr1.free_until_pos(31) == 35
+    assert fpr1.free_until_pos(32) == 35
+    assert fpr1.free_until_pos(33) == 35
+    assert fpr1.free_until_pos(34) == 35
+    assert fpr1.free_until_pos(35) == 35
+
 
 class TestRegalloc(object):
     def test_freeing_vars(self):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to