Author: Maciej Fijalkowski <[email protected]>
Branch: optresult
Changeset: r77570:3f2a09474cf5
Date: 2015-05-26 12:23 +0200
http://bitbucket.org/pypy/pypy/changeset/3f2a09474cf5/

Log:    whack whack whack

diff --git a/rpython/jit/metainterp/optimizeopt/intbounds.py 
b/rpython/jit/metainterp/optimizeopt/intbounds.py
--- a/rpython/jit/metainterp/optimizeopt/intbounds.py
+++ b/rpython/jit/metainterp/optimizeopt/intbounds.py
@@ -136,11 +136,11 @@
             r.intersect(b)
 
     def optimize_INT_FLOORDIV(self, op):
-        v1 = self.getvalue(op.getarg(0))
-        v2 = self.getvalue(op.getarg(1))
+        b1 = self.getintbound(op.getarg(0))
+        b2 = self.getintbound(op.getarg(1))
         self.emit_operation(op)
-        r = self.getvalue(op)
-        r.getintbound().intersect(v1.getintbound().div_bound(v2.getintbound()))
+        r = self.getintbound(op)
+        r.intersect(b1.div_bound(b2))
 
     def optimize_INT_MOD(self, op):
         v1 = self.getvalue(op.getarg(0))
diff --git a/rpython/jit/metainterp/optimizeopt/rewrite.py 
b/rpython/jit/metainterp/optimizeopt/rewrite.py
--- a/rpython/jit/metainterp/optimizeopt/rewrite.py
+++ b/rpython/jit/metainterp/optimizeopt/rewrite.py
@@ -582,17 +582,19 @@
         pass # just remove it
 
     def optimize_INT_FLOORDIV(self, op):
-        v1 = self.getvalue(op.getarg(0))
-        v2 = self.getvalue(op.getarg(1))
+        arg0 = op.getarg(0)
+        b1 = self.getintbound(arg0)
+        arg1 = op.getarg(1)
+        b2 = self.getintbound(arg1)
 
-        if v2.is_constant() and v2.box.getint() == 1:
-            self.make_equal_to(op.result, v1)
+        if b2.is_constant() and b2.getint() == 1:
+            self.make_equal_to(op, arg0)
             return
-        elif v1.is_constant() and v1.box.getint() == 0:
+        elif b1.is_constant() and b1.getint() == 0:
             self.make_constant_int(op, 0)
             return
-        if v1.getintbound().known_ge(IntBound(0, 0)) and v2.is_constant():
-            val = v2.box.getint()
+        if b1.known_ge(IntBound(0, 0)) and b2.is_constant():
+            val = b2.getint()
             if val & (val - 1) == 0 and val > 0: # val == 2**shift
                 op = op.copy_and_change(rop.INT_RSHIFT,
                                         args = [op.getarg(0), 
ConstInt(highest_bit(val))])
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to