Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: optresult-unroll
Changeset: r78952:c51373696582
Date: 2015-08-12 19:15 +0200
http://bitbucket.org/pypy/pypy/changeset/c51373696582/

Log:    fix some tests in test_optimizebasic

diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py 
b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -2881,8 +2881,8 @@
         [p1, i1, p2, i2]
         setfield_gc(p2, i2, descr=adescr)
         i3 = call_i(i1, descr=readadescr)
+        setfield_gc(p2, i3, descr=adescr)
         setfield_gc(p1, i3, descr=valuedescr)
-        setfield_gc(p2, i3, descr=adescr)
         jump(p1, i1, p2, i2)
         """
         self.optimize_loop(ops, expected)
@@ -2893,16 +2893,16 @@
         setfield_gc(p1, i1, descr=valuedescr)
         setfield_gc(p2, i2, descr=adescr)
         i3 = call_i(i1, descr=writeadescr)
+        setfield_gc(p2, i3, descr=adescr)
         setfield_gc(p1, i3, descr=valuedescr)
-        setfield_gc(p2, i3, descr=adescr)
         jump(p1, i1, p2, i2)
         """
         expected = """
         [p1, i1, p2, i2]
         setfield_gc(p2, i2, descr=adescr)
         i3 = call_i(i1, descr=writeadescr)
+        setfield_gc(p2, i3, descr=adescr)
         setfield_gc(p1, i3, descr=valuedescr)
-        setfield_gc(p2, i3, descr=adescr)
         jump(p1, i1, p2, i2)
         """
         self.optimize_loop(ops, expected)
@@ -2913,11 +2913,20 @@
         setfield_gc(p1, i1, descr=valuedescr)
         setfield_gc(p2, i2, descr=adescr)
         i3 = call_i(i1, descr=plaincalldescr)
+        setfield_gc(p2, i3, descr=adescr)
         setfield_gc(p1, i3, descr=valuedescr)
+        jump(p1, i1, p2, i2)
+        """
+        expected = """
+        [p1, i1, p2, i2]
+        setfield_gc(p2, i2, descr=adescr)
+        setfield_gc(p1, i1, descr=valuedescr)
+        i3 = call_i(i1, descr=plaincalldescr)
         setfield_gc(p2, i3, descr=adescr)
+        setfield_gc(p1, i3, descr=valuedescr)
         jump(p1, i1, p2, i2)
         """
-        self.optimize_loop(ops, ops)
+        self.optimize_loop(ops, expected)
 
     def test_call_assembler_invalidates_caches(self):
         ops = '''
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py 
b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -432,7 +432,7 @@
         assert equaloplists(optimized.operations,
                             expected.operations, False, remap, text_right)
 
-    def _do_optimize_loop(self, compile_data, call_pure_results=None):
+    def _do_optimize_loop(self, compile_data):
         from rpython.jit.metainterp.optimizeopt import optimize_trace
         metainterp_sd = FakeMetaInterpStaticData(self.cpu)
         if hasattr(self, 'vrefinfo'):
@@ -441,12 +441,6 @@
             metainterp_sd.callinfocollection = self.callinfocollection
         #
         compile_data.enable_opts = self.enable_opts
-        new_call_pure_results = args_dict()
-        if call_pure_results is not None:
-            for k, v in call_pure_results.items():
-                new_call_pure_results[list(k)] = v
-
-        compile_data.call_pure_results = new_call_pure_results
         state = optimize_trace(metainterp_sd, None, compile_data)
         return state
 
@@ -467,14 +461,16 @@
         ops = loop.operations[:-1]
         start_label = ResOperation(rop.LABEL, loop.inputargs)
         end_label = jump_op.copy_and_change(opnum=rop.LABEL)
-        preamble_data = compile.LoopCompileData(start_label, end_label, ops)
-        start_state, preamble_ops = self._do_optimize_loop(preamble_data,
-                                                  call_pure_results)
+        call_pure_results = self._convert_call_pure_results(call_pure_results)
+        preamble_data = compile.LoopCompileData(start_label, end_label, ops,
+                                                call_pure_results)
+        start_state, preamble_ops = self._do_optimize_loop(preamble_data)
         preamble_data.forget_optimization_info()
         end_label = ResOperation(rop.LABEL, start_state.end_args)
         loop_data = compile.UnrolledLoopData(end_label, jump_op,
-                                             ops, start_state)
-        loop_info, ops = self._do_optimize_loop(loop_data, call_pure_results)
+                                             ops, start_state,
+                                             call_pure_results)
+        loop_info, ops = self._do_optimize_loop(loop_data)
         preamble = TreeLoop('preamble')
         preamble.inputargs = start_state.renamed_inputargs
         start_label = ResOperation(rop.LABEL, start_state.renamed_inputargs)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to