[pypy-svn] r16477 - pypy/dist/pypy/translator/llvm2

ericvrp at codespeak.net ericvrp at codespeak.net
Thu Aug 25 13:57:56 CEST 2005


Author: ericvrp
Date: Thu Aug 25 13:57:56 2005
New Revision: 16477

Modified:
   pypy/dist/pypy/translator/llvm2/genllvm.py
Log:
fixed cconv for declares


Modified: pypy/dist/pypy/translator/llvm2/genllvm.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/genllvm.py	(original)
+++ pypy/dist/pypy/translator/llvm2/genllvm.py	Thu Aug 25 13:57:56 2005
@@ -57,9 +57,8 @@
         ll_lines.append(line)
 
     #patch calls to function that we just declared fastcc
-    ll_lines2 = []
+    ll_lines2, calltag, declaretag = [], 'call ', 'declare '
     for line in ll_lines:
-        calltag = 'call '
         i = line.find(calltag)
         if i >= 0:
             cconv = 'ccc'
@@ -68,6 +67,13 @@
                     cconv = 'fastcc'
                     break
             line = "%scall %s %s" % (line[:i], cconv, line[i+len(calltag):])
+        if line[:len(declaretag)] == declaretag:
+            cconv = 'ccc'
+            for funcname in funcnames.keys():
+                if line.find(funcname) >= 0:
+                    cconv = 'fastcc'
+                    break
+            line = "declare %s %s" % (cconv, line[len(declaretag):])
         ll_lines2.append(line)
 
     llcode = '\n'.join(ll_lines2)



More information about the Pypy-commit mailing list