Author: hager <sven.ha...@uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r48199:ee9b75f555bb
Date: 2011-10-18 12:28 +0200
http://bitbucket.org/pypy/pypy/changeset/ee9b75f555bb/

Log:    Beautified code for prepare_int_sub and prepare_int_floordiv.

diff --git a/pypy/jit/backend/ppc/ppcgen/regalloc.py 
b/pypy/jit/backend/ppc/ppcgen/regalloc.py
--- a/pypy/jit/backend/ppc/ppcgen/regalloc.py
+++ b/pypy/jit/backend/ppc/ppcgen/regalloc.py
@@ -5,8 +5,7 @@
 from pypy.jit.backend.ppc.ppcgen.jump import remap_frame_layout_mixed
 from pypy.jit.backend.ppc.ppcgen.locations import imm
 from pypy.jit.backend.ppc.ppcgen.helper.regalloc import (_check_imm_arg, 
-                                                         prepare_cmp_op,
-                                                         
prepare_op_by_helper_call)
+                                                         prepare_cmp_op)
 from pypy.jit.metainterp.history import (INT, REF, FLOAT, Const, ConstInt, 
                                          ConstPtr, LoopToken)
 from pypy.jit.metainterp.resoperation import rop
@@ -200,50 +199,10 @@
         return locs + [res]
 
     def prepare_int_sub(self, op):
-        boxes = list(op.getarglist())
-        b0, b1 = boxes
-        imm_b0 = _check_imm_arg(b0)
-        imm_b1 = _check_imm_arg(b1)
-        if not imm_b0 and imm_b1:
-            l0, box = self._ensure_value_is_boxed(b0, boxes)
-            l1 = self.make_sure_var_in_reg(b1, [b0])
-            boxes.append(box)
-        elif imm_b0 and not imm_b1:
-            l0 = self.make_sure_var_in_reg(b0)
-            l1, box = self._ensure_value_is_boxed(b1, boxes)
-            boxes.append(box)
-        else:
-            l0, box = self._ensure_value_is_boxed(b0, boxes)
-            boxes.append(box)
-            l1, box = self._ensure_value_is_boxed(b1, boxes)
-            boxes.append(box)
-        locs = [l0, l1]
-        self.possibly_free_vars(boxes)
-        res = self.force_allocate_reg(op.result)
-        return locs + [res]
+        return self.prepare_int_add(op)
 
     def prepare_int_floordiv(self, op):
-        boxes = list(op.getarglist())
-        b0, b1 = boxes
-        imm_b0 = _check_imm_arg(b0)
-        imm_b1 = _check_imm_arg(b1)
-        if not imm_b0 and imm_b1:
-            l0, box = self._ensure_value_is_boxed(b0, boxes)
-            l1 = self.make_sure_var_in_reg(b1, [b0])
-            boxes.append(box)
-        elif imm_b0 and not imm_b1:
-            l0 = self.make_sure_var_in_reg(b0)
-            l1, box = self._ensure_value_is_boxed(b1, boxes)
-            boxes.append(box)
-        else:
-            l0, box = self._ensure_value_is_boxed(b0, boxes)
-            boxes.append(box)
-            l1, box = self._ensure_value_is_boxed(b1, boxes)
-            boxes.append(box)
-        locs = [l0, l1]
-        self.possibly_free_vars(boxes)
-        res = self.force_allocate_reg(op.result)
-        return locs + [res]
+        return self.prepare_int_add(op)
 
     def prepare_int_mul(self, op):
         boxes = list(op.getarglist())
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to