[pypy-svn] r16632 - pypy/release/0.7.x/pypy/translator/llvm2
rxe at codespeak.net
rxe at codespeak.net
Fri Aug 26 16:40:04 CEST 2005
Author: rxe
Date: Fri Aug 26 16:40:03 2005
New Revision: 16632
Modified:
pypy/release/0.7.x/pypy/translator/llvm2/genllvm.py
Log:
only do the generating c to ll once when running tests (speeds things up a little)
Modified: pypy/release/0.7.x/pypy/translator/llvm2/genllvm.py
==============================================================================
--- pypy/release/0.7.x/pypy/translator/llvm2/genllvm.py (original)
+++ pypy/release/0.7.x/pypy/translator/llvm2/genllvm.py Fri Aug 26 16:40:03 2005
@@ -27,6 +27,7 @@
from py.process import cmdexec
function_count = {}
+llcode_header = ll_functions = None
def get_ll(ccode, extern_dir, functions=[]):
@@ -84,7 +85,8 @@
ll_lines2.append(line)
llcode = '\n'.join(ll_lines2)
- return llcode.split('implementation') #XXX testing
+ global llcode_header, ll_functions
+ llcode_header, ll_functions = llcode.split('implementation') # XXX testing
#XXX temp disabled
#
@@ -158,7 +160,7 @@
return decls
def generate_llfile(self, extern_decls):
-
+
#XXX outcommented because we are not puting files here
#extern_dir = udir.join("externs")
#if extern_dir.check(dir=1):
@@ -195,7 +197,7 @@
fns += "ll_time_time ll_time_clock ll_time_sleep ll_floattime".split()
fns += "ll_strtod_parts_to_float ll_strtod_formatd".split()
- return get_ll(open(p).read(), extern_dir, fns)
+ get_ll(open(p).read(), extern_dir, fns)
def gen_llvm_source(self, func=None):
if self.debug: print 'gen_llvm_source begin) ' + time.ctime()
@@ -220,7 +222,9 @@
self.translator.rtyper.specialize_more_blocks()
self.db.setup_all()
- lldeclarations, llimplementation = self.generate_llfile(extern_decls)
+ if llcode_header is None:
+ self.generate_llfile(extern_decls)
+ lldeclarations, llimplementation = llcode_header, ll_functions
#if self.debug: print 'gen_llvm_source typ_decl.writedatatypedecl) ' + time.ctime()
#if self.debug: print 'gen_llvm_source n_nodes) %d' % len(self.db.getnodes())
More information about the Pypy-commit
mailing list