Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r78909:df8aedaea834
Date: 2015-08-11 13:21 +0200
http://bitbucket.org/pypy/pypy/changeset/df8aedaea834/
Log: fix another test
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
@@ -7763,14 +7763,14 @@
i2 = int_ge(i1, 8)
guard_true(i2) []
p2 = getarrayitem_gc_pure_r(p1, 7, descr=<GcPtrArrayDescr>)
+ jump(p2, p1)
+ """
+ expected = """
+ [p0, p2, p1]
+ call_n(p2, descr=nonwritedescr)
+ i3 = arraylen_gc(p1) # Should be killed by backend
jump(p0, p2, p1)
"""
- expected = """
- [p0, p2]
- call_n(p2, descr=nonwritedescr)
- #i3 = arraylen_gc(p1) # Should be killed by backend
- jump(p0, p2)
- """
self.optimize_loop(ops, expected, expected_short=short)
def test_loopinvariant_constant_strgetitem(self):
diff --git a/rpython/jit/metainterp/optimizeopt/unroll.py
b/rpython/jit/metainterp/optimizeopt/unroll.py
--- a/rpython/jit/metainterp/optimizeopt/unroll.py
+++ b/rpython/jit/metainterp/optimizeopt/unroll.py
@@ -38,6 +38,10 @@
known_class = preamble_info.get_known_class(self.cpu)
if known_class:
self.make_constant_class(op, known_class, False)
+ if isinstance(preamble_info, info.ArrayPtrInfo):
+ arr_info = info.ArrayPtrInfo(None)
+ arr_info.lenbound = preamble_info.getlenbound()
+ op.set_forwarded(arr_info)
if preamble_info.is_nonnull():
self.make_nonnull(op)
elif isinstance(preamble_info, intutils.IntBound):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit