[pypy-commit] pypy unrecursive-opt: Fix OptSimplify and clean up some things.
jerith
noreply at buildbot.pypy.org
Mon Oct 12 11:31:14 CEST 2015
Author: Jeremy Thurgood <firxen at gmail.com>
Branch: unrecursive-opt
Changeset: r80127:61672fcaccb5
Date: 2015-10-12 11:31 +0200
http://bitbucket.org/pypy/pypy/changeset/61672fcaccb5/
Log: Fix OptSimplify and clean up some things.
diff --git a/rpython/jit/metainterp/optimizeopt/earlyforce.py b/rpython/jit/metainterp/optimizeopt/earlyforce.py
--- a/rpython/jit/metainterp/optimizeopt/earlyforce.py
+++ b/rpython/jit/metainterp/optimizeopt/earlyforce.py
@@ -28,8 +28,5 @@
self.optimizer.force_box(arg, self)
return self.emit(op)
- def propagate_postprocess(self, op):
- pass
-
def setup(self):
self.optimizer.optearlyforce = self
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
@@ -61,7 +61,7 @@
raise NotImplementedError
def propagate_postprocess(self, op):
- raise NotImplementedError
+ pass
def emit_operation(self, op):
assert False, "This should never be called."
@@ -579,9 +579,6 @@
def propagate_forward(self, op):
dispatch_opt(self, op)
- def propagate_postprocess(self, op):
- pass
-
def emit_extra(self, op):
# no forwarding, because we're at the end of the chain
self.emit(op)
diff --git a/rpython/jit/metainterp/optimizeopt/simplify.py b/rpython/jit/metainterp/optimizeopt/simplify.py
--- a/rpython/jit/metainterp/optimizeopt/simplify.py
+++ b/rpython/jit/metainterp/optimizeopt/simplify.py
@@ -8,16 +8,16 @@
self.last_label_descr = None
self.unroll = unroll
- def emit_operation(self, op):
+ def emit(self, op):
if op.is_guard():
if self.optimizer.pendingfields is None:
self.optimizer.pendingfields = []
- Optimization.emit_operation(self, op)
+ return Optimization.emit(self, op)
def optimize_CALL_PURE_I(self, op):
opnum = OpHelpers.call_for_descr(op.getdescr())
newop = self.optimizer.replace_op_with(op, opnum)
- self.emit_operation(newop)
+ return self.emit(newop)
optimize_CALL_PURE_R = optimize_CALL_PURE_I
optimize_CALL_PURE_F = optimize_CALL_PURE_I
optimize_CALL_PURE_N = optimize_CALL_PURE_I
@@ -25,7 +25,7 @@
def optimize_CALL_LOOPINVARIANT_I(self, op):
opnum = OpHelpers.call_for_descr(op.getdescr())
op = op.copy_and_change(opnum)
- self.emit_operation(op)
+ return self.emit(op)
optimize_CALL_LOOPINVARIANT_R = optimize_CALL_LOOPINVARIANT_I
optimize_CALL_LOOPINVARIANT_F = optimize_CALL_LOOPINVARIANT_I
optimize_CALL_LOOPINVARIANT_N = optimize_CALL_LOOPINVARIANT_I
@@ -35,7 +35,7 @@
def optimize_VIRTUAL_REF(self, op):
newop = self.replace_op_with(op, rop.SAME_AS_R, [op.getarg(0)])
- self.emit_operation(newop)
+ return self.emit(newop)
def optimize_QUASIIMMUT_FIELD(self, op):
# xxx ideally we could also kill the following GUARD_NOT_INVALIDATED
@@ -51,7 +51,7 @@
# if isinstance(descr, JitCellToken):
# return self.optimize_JUMP(op.copy_and_change(rop.JUMP))
# self.last_label_descr = op.getdescr()
- # self.emit_operation(op)
+ # return self.emit(op)
# def optimize_JUMP(self, op):
# if not self.unroll:
@@ -67,11 +67,11 @@
# else:
# assert len(descr.target_tokens) == 1
# op.setdescr(descr.target_tokens[0])
- # self.emit_operation(op)
+ # return self.emit(op)
def optimize_GUARD_FUTURE_CONDITION(self, op):
self.optimizer.notice_guard_future_condition(op)
dispatch_opt = make_dispatcher_method(OptSimplify, 'optimize_',
- default=OptSimplify.emit_operation)
+ default=OptSimplify.emit)
OptSimplify.propagate_forward = dispatch_opt
More information about the pypy-commit
mailing list