Author: Richard Plangger <planri...@gmail.com>
Branch: vecopt-merge
Changeset: r79813:5fa27b9b5c0c
Date: 2015-09-24 18:33 +0200
http://bitbucket.org/pypy/pypy/changeset/5fa27b9b5c0c/

Log:    removes the unused faildescr from the versioned loop info

diff --git a/rpython/jit/backend/x86/assembler.py 
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -1750,7 +1750,7 @@
     genop_guard_guard_no_overflow = genop_guard_guard_true
     genop_guard_guard_overflow    = genop_guard_guard_false
 
-    def genop_guard_guard_value(self, ign_1, guard_op, guard_token, locs, 
ign_2):
+    def genop_guard_guard_value(self, guard_op, guard_token, locs, ign):
         if guard_op.getarg(0).type == FLOAT:
             assert guard_op.getarg(1).type == FLOAT
             self.mc.UCOMISD(locs[0], locs[1])
diff --git a/rpython/jit/backend/x86/test/test_x86vector.py 
b/rpython/jit/backend/x86/test/test_x86vector.py
--- a/rpython/jit/backend/x86/test/test_x86vector.py
+++ b/rpython/jit/backend/x86/test/test_x86vector.py
@@ -18,10 +18,14 @@
         clazz = self.CPUClass
         def init(*args, **kwargs):
             cpu = clazz(*args, **kwargs)
+            # > 95% can be executed, thus let's cheat here a little
             cpu.supports_guard_gc_type = True
             return cpu
         self.CPUClass = init
 
+    def test_list_vectorize(self):
+        pass # needs support_guard_gc_type, disable for now
+
     enable_opts = 
'intbounds:rewrite:virtualize:string:earlyforce:pure:heap:unroll'
 
 class TestAssembler(BaseTestAssembler):
diff --git a/rpython/jit/metainterp/optimizeopt/guard.py 
b/rpython/jit/metainterp/optimizeopt/guard.py
--- a/rpython/jit/metainterp/optimizeopt/guard.py
+++ b/rpython/jit/metainterp/optimizeopt/guard.py
@@ -313,6 +313,7 @@
                 if transitive_guard:
                     if version is None:
                         version = info.snapshot(loop)
+                    info.remove(other.op.getdescr())
                     other.set_to_none(info, loop)
                     descr = transitive_guard.getdescr()
                     assert isinstance(descr, ResumeGuardDescr)
diff --git a/rpython/jit/metainterp/optimizeopt/version.py 
b/rpython/jit/metainterp/optimizeopt/version.py
--- a/rpython/jit/metainterp/optimizeopt/version.py
+++ b/rpython/jit/metainterp/optimizeopt/version.py
@@ -30,6 +30,7 @@
             self.descrs.insert(i, descr)
         else:
             self.descrs.append(descr)
+        assert descr not in self.leads_to
         self.leads_to[descr] = version
         assert version.renamed_inputargs is not None
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to