[pypy-commit] pypy jit-leaner-frontend: remove descr after parse_loop in assert_vectorize, this is need to successfully convert the loop to a trace obj
plan_rich
pypy.commits at gmail.com
Fri Mar 25 07:12:06 EDT 2016
Author: Richard Plangger <planrichi at gmail.com>
Branch: jit-leaner-frontend
Changeset: r83343:2bbf906956f4
Date: 2016-03-25 11:08 +0100
http://bitbucket.org/pypy/pypy/changeset/2bbf906956f4/
Log: remove descr after parse_loop in assert_vectorize, this is need to
successfully convert the loop to a trace obj
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py b/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
@@ -82,12 +82,17 @@
def assert_vectorize(self, loop, expected_loop, call_pure_results=None):
jump = ResOperation(rop.LABEL, loop.jump.getarglist(), loop.jump.getdescr())
- trace = Trace(loop.label, jump, loop.operations)
- trace = self.convert_loop_to_packed(loop)
+ # convert_loop_to_trace assumes that there are no descriptors
+ # but because this optimization pass is after the normal optimization pass
+ # parse_loop already set artificial resume descr!
+ for op in loop.operations:
+ if op.is_guard():
+ op.setdescr(None)
+ trace = convert_loop_to_trace(loop)
compile_data = compile.LoopCompileData(trace, loop.jump.getarglist())
state = self._do_optimize_loop(compile_data)
loop.label = state[0].label_op
- loop.opererations = state[1]
+ loop.operations = state[1]
self.assert_equal(loop, expected_loop)
def vectoroptimizer(self, loop):
More information about the pypy-commit
mailing list