[pypy-commit] pypy default: Failing test where i73 is assigned twice in the optimized trace.
hakanardo
noreply at buildbot.pypy.org
Tue Feb 28 08:56:20 CET 2012
Author: Hakan Ardo <hakan at debian.org>
Branch:
Changeset: r52957:9a45d7852b5b
Date: 2012-02-28 08:15 +0100
http://bitbucket.org/pypy/pypy/changeset/9a45d7852b5b/
Log: Failing test where i73 is assigned twice in the optimized trace.
diff --git a/pypy/jit/metainterp/optimizeopt/test/test_multilabel.py b/pypy/jit/metainterp/optimizeopt/test/test_multilabel.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_multilabel.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_multilabel.py
@@ -398,6 +398,50 @@
with raises(InvalidLoop):
self.optimize_loop(ops, ops)
+ def test_maybe_issue1045_related(self):
+ ops = """
+ [p8]
+ p54 = getfield_gc(p8, descr=valuedescr)
+ mark_opaque_ptr(p54)
+ i55 = getfield_gc(p54, descr=nextdescr)
+ p57 = new_with_vtable(ConstClass(node_vtable))
+ setfield_gc(p57, i55, descr=otherdescr)
+ p69 = new_with_vtable(ConstClass(node_vtable))
+ setfield_gc(p69, i55, descr=otherdescr)
+ i71 = int_eq(i55, -9223372036854775808)
+ guard_false(i71) []
+ i73 = int_mod(i55, 2)
+ i75 = int_rshift(i73, 63)
+ i76 = int_and(2, i75)
+ i77 = int_add(i73, i76)
+ p79 = new_with_vtable(ConstClass(node_vtable))
+ setfield_gc(p79, i77, descr=otherdescr)
+ i81 = int_eq(i77, 1)
+ guard_false(i81) []
+ i0 = int_ge(i55, 1)
+ guard_true(i0) []
+ label(p57)
+ jump(p57)
+ """
+ expected = """
+ [p8]
+ p54 = getfield_gc(p8, descr=valuedescr)
+ i55 = getfield_gc(p54, descr=nextdescr)
+ i71 = int_eq(i55, -9223372036854775808)
+ guard_false(i71) []
+ i73 = int_mod(i55, 2)
+ i75 = int_rshift(i73, 63)
+ i76 = int_and(2, i75)
+ i77 = int_add(i73, i76)
+ i81 = int_eq(i77, 1)
+ guard_false(i81) []
+ i0 = int_ge(i55, 1)
+ guard_true(i0) []
+ label(i55)
+ jump(i55)
+ """
+ self.optimize_loop(ops, expected)
+
class OptRenameStrlen(Optimization):
def propagate_forward(self, op):
dispatch_opt(self, op)
@@ -457,7 +501,6 @@
jump(p1, i11)
"""
self.optimize_loop(ops, expected)
-
class TestLLtype(OptimizeoptTestMultiLabel, LLtypeMixin):
More information about the pypy-commit
mailing list