[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