Author: Berkin Ilbeyi <[email protected]>
Branch: fold-arith-ops
Changeset: r77437:fda606ceff6b
Date: 2015-05-20 16:05 -0400
http://bitbucket.org/pypy/pypy/changeset/fda606ceff6b/
Log: more/better testing for removing multiple int_add's
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -3079,7 +3079,7 @@
"""
self.optimize_loop(ops, expected, preamble)
- def test_remove_multiple_add(self):
+ def test_remove_multiple_add_1(self):
ops = """
[i0]
i1 = int_add(i0, 1)
@@ -3090,12 +3090,39 @@
expected = """
[i0]
i1 = int_add(i0, 1)
- i2 = int_add(i1, 2)
+ i2 = int_add(i0, 3)
i3 = int_add(i0, 4)
jump(i3)
"""
self.optimize_loop(ops, expected)
+ def test_remove_multiple_add_2(self):
+ ops = """
+ [i0]
+ i1 = int_add(i0, 1)
+ i2 = int_add(2, i1)
+ i3 = int_add(i2, 1)
+ i4 = int_mul(i3, 5)
+ i5 = int_add(5, i4)
+ i6 = int_add(1, i5)
+ i7 = int_add(i2, i6)
+ i8 = int_add(i7, 1)
+ jump(i8)
+ """
+ expected = """
+ [i0]
+ i1 = int_add(i0, 1)
+ i2 = int_add(i0, 3)
+ i3 = int_add(i0, 4)
+ i4 = int_mul(i3, 5)
+ i5 = int_add(5, i4)
+ i6 = int_add(i4, 6)
+ i7 = int_add(i2, i6)
+ i8 = int_add(i7, 1)
+ jump(i8)
+ """
+ self.optimize_loop(ops, expected)
+
def test_remove_duplicate_pure_op(self):
ops = """
[p1, p2]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit