[pypy-commit] pypy optresult: fix merge

fijal noreply at buildbot.pypy.org
Tue Feb 24 14:06:54 CET 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult
Changeset: r76097:a5e66cb352ac
Date: 2015-02-24 15:06 +0200
http://bitbucket.org/pypy/pypy/changeset/a5e66cb352ac/

Log:	fix merge

diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -866,21 +866,21 @@
             return
         optpure = self.optpure
         if op.getopnum() == rop.INT_ADD:
-            optpure.pure(rop.INT_ADD, [op.getarg(1), op.getarg(0)], op.result)
+            optpure.pure(rop.INT_ADD, [op.getarg(1), op.getarg(0)], op)
             # Synthesize the reverse op for optimize_default to reuse
-            optpure.pure(rop.INT_SUB, [op.result, op.getarg(1)], op.getarg(0))
-            optpure.pure(rop.INT_SUB, [op.result, op.getarg(0)], op.getarg(1))
+            optpure.pure(rop.INT_SUB, [op, op.getarg(1)], op.getarg(0))
+            optpure.pure(rop.INT_SUB, [op, op.getarg(0)], op.getarg(1))
         elif op.getopnum() == rop.INT_SUB:
-            optpure.pure(rop.INT_ADD, [op.result, op.getarg(1)], op.getarg(0))
-            optpure.pure(rop.INT_SUB, [op.getarg(0), op.result], op.getarg(1))
+            optpure.pure(rop.INT_ADD, [op, op.getarg(1)], op.getarg(0))
+            optpure.pure(rop.INT_SUB, [op.getarg(0), op], op.getarg(1))
         elif op.getopnum() == rop.FLOAT_MUL:
-            optpure.pure(rop.FLOAT_MUL, [op.getarg(1), op.getarg(0)], op.result)
+            optpure.pure(rop.FLOAT_MUL, [op.getarg(1), op.getarg(0)], op)
         elif op.getopnum() == rop.FLOAT_NEG:
-            optpure.pure(rop.FLOAT_NEG, [op.result], op.getarg(0))
+            optpure.pure(rop.FLOAT_NEG, [op], op.getarg(0))
         elif op.getopnum() == rop.CAST_INT_TO_PTR:
-            optpure.pure(rop.CAST_PTR_TO_INT, [op.result], op.getarg(0))
+            optpure.pure(rop.CAST_PTR_TO_INT, [op], op.getarg(0))
         elif op.getopnum() == rop.CAST_PTR_TO_INT:
-            optpure.pure(rop.CAST_INT_TO_PTR, [op.result], op.getarg(0))
+            optpure.pure(rop.CAST_INT_TO_PTR, [op], op.getarg(0))
 
     #def optimize_GUARD_NO_OVERFLOW(self, op):
     #    # otherwise the default optimizer will clear fields, which is unwanted
diff --git a/rpython/jit/metainterp/optimizeopt/pure.py b/rpython/jit/metainterp/optimizeopt/pure.py
--- a/rpython/jit/metainterp/optimizeopt/pure.py
+++ b/rpython/jit/metainterp/optimizeopt/pure.py
@@ -82,7 +82,6 @@
         args = op.getarglist()
         opnum = OpHelpers.call_for_descr(op.getdescr())
         newop = self.optimizer.replace_op_with(op, opnum)
-        self.remember_emitting_pure(op)
         self.emit_operation(newop)
         self.call_pure_positions.append(len(self.optimizer._newoperations) - 1)
     optimize_CALL_PURE_R = optimize_CALL_PURE_I
diff --git a/rpython/jit/metainterp/optimizeopt/util.py b/rpython/jit/metainterp/optimizeopt/util.py
--- a/rpython/jit/metainterp/optimizeopt/util.py
+++ b/rpython/jit/metainterp/optimizeopt/util.py
@@ -168,7 +168,7 @@
             assert op1.same_box(remap[op2])
         else:
             remap[op2] = op1
-        if op1.getopnum() not in [rop.JUMP, rop.LABEL] and not op1.is_guard():
+        if op1.getopnum() not in [rop.JUMP, rop.LABEL, rop.FINISH] and not op1.is_guard():
             assert op1.getdescr() == op2.getdescr()
         if op1.getfailargs() or op2.getfailargs():
             assert len(op1.getfailargs()) == len(op2.getfailargs())


More information about the pypy-commit mailing list