Author: Richard Plangger <[email protected]>
Branch: vecopt-merge
Changeset: r79739:bcfb21ad79c8
Date: 2015-09-21 15:11 +0200
http://bitbucket.org/pypy/pypy/changeset/bcfb21ad79c8/

Log:    datatype is not set if input does not define a datatype

diff --git a/rpython/jit/metainterp/resoperation.py 
b/rpython/jit/metainterp/resoperation.py
--- a/rpython/jit/metainterp/resoperation.py
+++ b/rpython/jit/metainterp/resoperation.py
@@ -146,12 +146,14 @@
             while arg.is_constant() and i+1 < self.numargs():
                 i += 1
                 arg = self.getarg(i)
-            if arg.is_constant():
+            if arg.is_constant() or arg.datatype == '\x00':
                 if arg.type == 'i':
                     self.setdatatype('i', INT_WORD, True)
+                elif arg.type == 'f':
+                    self.setdatatype('f', FLOAT_WORD, False)
                 else:
-                    assert arg.type == 'f'
-                    self.setdatatype('f', FLOAT_WORD, False)
+                    assert arg.type == 'r'
+                    self.setdatatype('r', INT_WORD, False)
                 return
             self.setdatatype(arg.datatype, arg.bytesize, arg.signed)
         assert self.datatype != '\x00'
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to