[pypy-commit] pypy optresult-unroll: (fijal, arigo) fix more tests
fijal
noreply at buildbot.pypy.org
Wed Aug 12 18:56:09 CEST 2015
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r78944:bedcdcb6f10f
Date: 2015-08-12 18:11 +0200
http://bitbucket.org/pypy/pypy/changeset/bedcdcb6f10f/
Log: (fijal, arigo) fix more tests
diff --git a/rpython/jit/metainterp/optimizeopt/rewrite.py b/rpython/jit/metainterp/optimizeopt/rewrite.py
--- a/rpython/jit/metainterp/optimizeopt/rewrite.py
+++ b/rpython/jit/metainterp/optimizeopt/rewrite.py
@@ -420,6 +420,7 @@
resvalue = self.loop_invariant_results.get(key, None)
if resvalue is not None:
resvalue = self.optimizer.force_op_from_preamble(resvalue)
+ self.loop_invariant_results[key] = resvalue
self.make_equal_to(op, resvalue)
self.last_emitted_operation = REMOVED
return
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
@@ -3953,20 +3953,20 @@
p3 = force_token()
#
p2 = new_with_vtable(descr=vref_descr)
+ setfield_gc(p2, p3, descr=virtualtokendescr)
setfield_gc(p2, NULL, descr=virtualforceddescr)
- setfield_gc(p2, p3, descr=virtualtokendescr)
setfield_gc(p0, p2, descr=nextdescr)
#
call_may_force_n(i1, descr=mayforcevirtdescr)
guard_not_forced() [i1]
#
setfield_gc(p0, NULL, descr=nextdescr)
+ setfield_gc(p2, NULL, descr=virtualtokendescr)
p1 = new_with_vtable(descr=nodesize)
p1b = new_with_vtable(descr=nodesize)
setfield_gc(p1b, 252, descr=valuedescr)
setfield_gc(p1, p1b, descr=nextdescr)
setfield_gc(p2, p1, descr=virtualforceddescr)
- setfield_gc(p2, NULL, descr=virtualtokendescr)
jump(p0, i1)
"""
self.optimize_loop(ops, expected, expected)
@@ -3993,20 +3993,20 @@
p3 = force_token()
#
p2 = new_with_vtable(descr=vref_descr)
+ setfield_gc(p2, p3, descr=virtualtokendescr)
setfield_gc(p2, NULL, descr=virtualforceddescr)
- setfield_gc(p2, p3, descr=virtualtokendescr)
setfield_gc(p0, p2, descr=nextdescr)
#
call_may_force_n(i1, descr=mayforcevirtdescr)
guard_not_forced() [p2, i1]
#
setfield_gc(p0, NULL, descr=nextdescr)
+ setfield_gc(p2, NULL, descr=virtualtokendescr)
p1 = new_with_vtable(descr=nodesize)
p1b = new_with_vtable(descr=nodesize)
setfield_gc(p1b, i1, descr=valuedescr)
setfield_gc(p1, p1b, descr=nextdescr)
setfield_gc(p2, p1, descr=virtualforceddescr)
- setfield_gc(p2, NULL, descr=virtualtokendescr)
jump(p0, i1)
"""
# the point of this test is that 'i1' should show up in the fail_args
@@ -4081,8 +4081,8 @@
[i1]
p3 = force_token()
p2 = new_with_vtable(descr=vref_descr)
+ setfield_gc(p2, p3, descr=virtualtokendescr)
setfield_gc(p2, NULL, descr=virtualforceddescr)
- setfield_gc(p2, p3, descr=virtualtokendescr)
escape_n(p2)
p1 = new_with_vtable(descr=nodesize)
setfield_gc(p2, p1, descr=virtualforceddescr)
@@ -4106,9 +4106,9 @@
expected = """
[i1, p1]
p3 = force_token()
- p2 = new_with_vtable(ConstClass(jit_virtual_ref_vtable))
+ p2 = new_with_vtable(descr=vref_descr)
+ setfield_gc(p2, p3, descr=virtualtokendescr)
setfield_gc(p2, NULL, descr=virtualforceddescr)
- setfield_gc(p2, p3, descr=virtualtokendescr)
escape_n(p2)
setfield_gc(p2, p1, descr=virtualforceddescr)
setfield_gc(p2, NULL, descr=virtualtokendescr)
@@ -4888,9 +4888,9 @@
ops = """
[p4, p7, i30]
p16 = getfield_gc_r(p4, descr=valuedescr)
- p17 = getarrayitem_gc_r(p4, 1, descr=arraydescr)
+ p17 = getarrayitem_gc_r(p4, 1, descr=gcarraydescr)
guard_value(p16, ConstPtr(myptr), descr=<Guard3>) []
- i1 = getfield_raw(p7, descr=nextdescr)
+ i1 = getfield_raw_i(p7, descr=nextdescr)
i2 = int_add(i1, i30)
setfield_raw(p7, 7, descr=nextdescr)
setfield_raw(p7, i2, descr=nextdescr)
@@ -4898,7 +4898,7 @@
"""
expected = """
[p4, p7, i30]
- i1 = getfield_raw(p7, descr=nextdescr)
+ i1 = getfield_raw_i(p7, descr=nextdescr)
i2 = int_add(i1, i30)
setfield_raw(p7, 7, descr=nextdescr)
setfield_raw(p7, i2, descr=nextdescr)
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
@@ -24,7 +24,7 @@
self.optimizer.inparg_dict[op] = None # XXX ARGH
# special hack for int_add(x, accumulator-const) optimization
self.optunroll.short_preamble_producer.use_box(op,
- preamble_op.preamble_op, self)
+ preamble_op.preamble_op, self)
if not preamble_op.op.is_constant():
self.optunroll.potential_extra_ops[op] = preamble_op
return op
More information about the pypy-commit
mailing list