[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