[pypy-commit] pypy vecopt: setting the orig label arguments in the test case

plan_rich noreply at buildbot.pypy.org
Mon Aug 3 17:26:10 CEST 2015


Author: Richard Plangger <rich at pasra.at>
Branch: vecopt
Changeset: r78754:0359a9053df7
Date: 2015-08-03 17:26 +0200
http://bitbucket.org/pypy/pypy/changeset/0359a9053df7/

Log:	setting the orig label arguments in the test case

diff --git a/rpython/jit/metainterp/optimizeopt/test/test_vectorize.py b/rpython/jit/metainterp/optimizeopt/test/test_vectorize.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_vectorize.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_vectorize.py
@@ -57,6 +57,8 @@
         metainterp_sd = FakeMetaInterpStaticData(self.cpu)
         jitdriver_sd = FakeJitDriverStaticData()
         opt = VectorizingOptimizer(metainterp_sd, jitdriver_sd, loop, 0)
+        label_index = loop.find_first_index(rop.LABEL)
+        opt.orig_label_args = loop.operations[label_index].getarglist()[:]
         return opt
 
     def vectoroptimizer_unrolled(self, loop, unroll_factor = -1):
@@ -960,6 +962,7 @@
         """
         opt="""
         [p0,i0]
+        label(p0,i0)
         v3 = vec_int_expand(42)
         label(p0,i0,v3)
         i20 = int_add(i0, 1)
@@ -989,6 +992,7 @@
         """
         opt="""
         [p0,i0,f3]
+        label(p0,i0,f3)
         v3 = vec_float_expand(f3)
         label(p0,i0,f3,v3)
         i20 = int_add(i0, 1)
@@ -1324,5 +1328,34 @@
         opt = self.vectorize(self.parse_loop(trace))
         self.debug_print_operations(opt.loop)
 
+    def test_bug1(self):
+        trace="""
+        [p0, p1, p4, p6, p7, p9, p10, p11, p12, i18, p17, i19, p20, i21, p22, i23, i24, p25, i26, i27, p28, i29]
+        guard_early_exit(descr=<ResumeAtLoopHeaderDescr object at 0x7ffff7efd520>) [p1, p0, p4, p6, p7, p9, p10, p11, p12, p17, i18]
+        guard_not_invalidated(descr=<ResumeGuardNotInvalidated object at 0x7ffff7efd580>) [p1, p0, p9, p4, p6, p7, p10, p11, p12, p17, i18]
+        i30 = int_lt(i18, i19)
+        guard_true(i30, descr=<ResumeGuardTrueDescr object at 0x7ffff7efd5e0>) [p1, p0, p20, p4, p6, p7, p9, p10, p11, p12, p17, i18]
+        i31 = int_lt(i18, i21)
+        guard_true(i31, descr=<ResumeGuardTrueDescr object at 0x7ffff7efd640>) [p1, p0, p22, i18, p4, p6, p7, p9, p10, p11, p12, p17, None]
+        i33 = getarrayitem_raw(i23, i18, descr=chararraydescr)
+        i34 = int_lt(i18, i24)
+        guard_true(i34, descr=<ResumeGuardTrueDescr object at 0x7ffff7efd6a0>) [p1, p0, p25, i18, p4, p6, p7, p9, p10, p11, p12, p17, i33, None]
+        i35 = getarrayitem_raw(i26, i18, descr=chararraydescr)
+        i36 = int_add(i33, i35)
+        i37 = int_lt(i18, i27)
+        guard_true(i37, descr=<ResumeGuardTrueDescr object at 0x7ffff7efd700>) [p1, p0, p28, i18, p4, p6, p7, p9, p10, p11, p12, p17, i36, None, None]
+        i39 = int_signext(i36, 1)
+        i40 = int_ne(i39, i36)
+        guard_false(i40, descr=<ResumeGuardFalseDescr object at 0x7ffff7efd760>) [p1, p0, p28, i18, i36, i39, p4, p6, p7, p9, p10, p11, p12, p17, None, None, None]
+        setarrayitem_raw(i29, i18, i39, descr=chararraydescr)
+        i42 = int_add(i18, 1)
+        i44 = getfield_raw(140737351872096, descr=<FieldS pypysig_long_struct.c_value 0>)
+        i46 = int_lt(i44, 0)
+        guard_false(i46, descr=<ResumeGuardFalseDescr object at 0x7ffff7efd7c0>) [p1, p0, p4, p6, p7, p9, p10, p11, p12, p17, i42, None, None, None]
+        jump(p0, p1, p4, p6, p7, p9, p10, p11, p12, i42, p17, i19, p20, i21, p22, i23, i24, p25, i26, i27, p28, i29)
+        """
+        opt = self.vectorize(self.parse_loop(trace))
+        self.debug_print_operations(opt.loop)
+
 class TestLLtype(BaseTestVectorize, LLtypeMixin):
     pass


More information about the pypy-commit mailing list