[pypy-svn] r36687 - in pypy/dist/pypy/jit/codegen: i386/test llvm llvm/test test

ericvrp at codespeak.net ericvrp at codespeak.net
Sat Jan 13 18:55:44 CET 2007


Author: ericvrp
Date: Sat Jan 13 18:55:43 2007
New Revision: 36687

Modified:
   pypy/dist/pypy/jit/codegen/i386/test/test_operation.py
   pypy/dist/pypy/jit/codegen/llvm/rgenop.py
   pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py
   pypy/dist/pypy/jit/codegen/test/rgenop_tests.py
Log:
fix two tests (cast_bool_to_int) and one annotation problem


Modified: pypy/dist/pypy/jit/codegen/i386/test/test_operation.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/i386/test/test_operation.py	(original)
+++ pypy/dist/pypy/jit/codegen/i386/test/test_operation.py	Sat Jan 13 18:55:43 2007
@@ -247,14 +247,14 @@
             assert fp(40.0, 2.0) == fn(40.0, 2.0)
             assert fp(25.125, 1.5) == fn(25.125, 1.5)
 
-    def test_float_pow(self): #harder test  for llvm
+    def test_float_pow(self): #harder test for llvm
         for fn in [lambda x, y: x ** y,    #not supported in llvm backend
                    ]:
             fp = self.rgen(fn, [float, float], float)
             assert fp(40.0, 2.0) == fn(40.0, 2.0)
             assert fp(25.125, 1.5) == fn(25.125, 1.5)
 
-    def test_float_cast(self): #because of differnt rettype
+    def test_float_cast(self): #because of different rettype
         for fn in [lambda x: bool(x),
                    lambda x: bool(x - 2.0),
                    ]:

Modified: pypy/dist/pypy/jit/codegen/llvm/rgenop.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/llvm/rgenop.py	(original)
+++ pypy/dist/pypy/jit/codegen/llvm/rgenop.py	Sat Jan 13 18:55:43 2007
@@ -209,6 +209,7 @@
 class AddrConst(GenConst):
     type = pi8
     signed = False
+    addr = llmemory.NULL #have 'addr' even when not instantiated
 
     def __init__(self, addr):
         self.addr = addr
@@ -905,7 +906,7 @@
             funcsig = gv_fn.operand()
         else:
             #XXX we probably need to call an address directly if we can't resolve the funcsig
-            funcsig = self.rgenop.funcsig[gv_fnptr.value]
+            funcsig = self.rgenop.funcsig[gv_fnptr.get_integer_value()]
         gv_returnvar = Var(restype)
         self.asm.append(' %s=call %s(%s)' % (
                         gv_returnvar.operand2(),

Modified: pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py	(original)
+++ pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py	Sat Jan 13 18:55:43 2007
@@ -23,5 +23,3 @@
         test_goto_direct = skip_too_minimal #segfault
         test_goto_compile = skip_too_minimal #segfault
         test_fact_direct = skip_too_minimal #segfault
-
-    test_fact_compile = skip #XXX Blocked block, (addr = self.addr) in AddrConst.operand2()

Modified: pypy/dist/pypy/jit/codegen/test/rgenop_tests.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/test/rgenop_tests.py	(original)
+++ pypy/dist/pypy/jit/codegen/test/rgenop_tests.py	Sat Jan 13 18:55:43 2007
@@ -683,14 +683,21 @@
         gv_eq = builder.genop2("int_eq", gv_x, gv_y)
         gv_ne = builder.genop2("int_ne", gv_x, gv_y)
 
-        gv_gt2 = gv_gt
-        gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt)
-        gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge)
-        gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le)
-        gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq)
-        gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne)
+        gv_gt1 = builder.genop1("cast_bool_to_int", gv_gt)
+        gv_lt1 = builder.genop1("cast_bool_to_int", gv_lt)
+        gv_ge1 = builder.genop1("cast_bool_to_int", gv_ge)
+        gv_le1 = builder.genop1("cast_bool_to_int", gv_le)
+        gv_eq1 = builder.genop1("cast_bool_to_int", gv_eq)
+        gv_ne1 = builder.genop1("cast_bool_to_int", gv_ne)
+
+        gv_gt2 = gv_gt1
+        gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt1)
+        gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge1)
+        gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le1)
+        gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq1)
+        gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne1)
 
-        gv_r0 = gv_gt
+        gv_r0 = gv_gt2
         gv_r1 = builder.genop2("int_add", gv_r0, gv_lt2)
         gv_r2 = builder.genop2("int_add", gv_r1, gv_ge2)
         gv_r3 = builder.genop2("int_add", gv_r2, gv_le2)
@@ -724,14 +731,21 @@
         gv_eq = builder.genop2("int_eq", gv_one, gv_x)
         gv_ne = builder.genop2("int_ne", gv_one, gv_x)
 
-        gv_gt2 = gv_gt
-        gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt)
-        gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge)
-        gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le)
-        gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq)
-        gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne)
+        gv_gt1 = builder.genop1("cast_bool_to_int", gv_gt)
+        gv_lt1 = builder.genop1("cast_bool_to_int", gv_lt)
+        gv_ge1 = builder.genop1("cast_bool_to_int", gv_ge)
+        gv_le1 = builder.genop1("cast_bool_to_int", gv_le)
+        gv_eq1 = builder.genop1("cast_bool_to_int", gv_eq)
+        gv_ne1 = builder.genop1("cast_bool_to_int", gv_ne)
+
+        gv_gt2 = gv_gt1
+        gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt1)
+        gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge1)
+        gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le1)
+        gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq1)
+        gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne1)
 
-        gv_r0 = gv_gt
+        gv_r0 = gv_gt2
         gv_r1 = builder.genop2("int_add", gv_r0, gv_lt2)
         gv_r2 = builder.genop2("int_add", gv_r1, gv_ge2)
         gv_r3 = builder.genop2("int_add", gv_r2, gv_le2)



More information about the Pypy-commit mailing list