[pypy-svn] r16112 - in pypy/dist/pypy/translator: . llvm2

ericvrp at codespeak.net ericvrp at codespeak.net
Wed Aug 17 15:31:16 CEST 2005


Author: ericvrp
Date: Wed Aug 17 15:31:15 2005
New Revision: 16112

Modified:
   pypy/dist/pypy/translator/llvm2/genllvm.py
   pypy/dist/pypy/translator/translator.py
Log:
* fix to make llvmcompile actually able to compile a standaloe
* cleaned up some outcommented code



Modified: pypy/dist/pypy/translator/llvm2/genllvm.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/genllvm.py	(original)
+++ pypy/dist/pypy/translator/llvm2/genllvm.py	Wed Aug 17 15:31:15 2005
@@ -15,10 +15,6 @@
      extfunctions, gc_boehm, gc_disabled, dependencies
 from pypy.translator.llvm2.node import LLVMNode
 
-#XXX commented out because extfuncs temp. not working
-#from pypy.rpython.module import ll_os, ll_time, ll_math, ll_strtod
-#from pypy.rpython.annlowlevel import annotate_lowlevel_helper
-
 from pypy.translator.translator import Translator
 
 import time
@@ -78,25 +74,6 @@
             func = self.translator.entrypoint
         self.entrypoint = func
 
-        #XXX commented out because extfuncs temp. not working
-        # # make sure helper functions are available
-        # rtyper = self.translator.rtyper
-        # for ptr in (
-        #             #rtyper.annotate_helper(ll_math.ll_frexp_result, [lltype.Float, lltype.Signed]),
-        #             #rtyper.annotate_helper(ll_math.ll_modf_result , [lltype.Float, lltype.Float ]),
-        #             rtyper.annotate_helper(ll_os.ll_stat_result   , [lltype.Signed] * 10),
-        #            ):
-        #     c = inputconst(lltype.typeOf(ptr), ptr)
-        #     self.db.prepare_arg_value(c)
-
-        # make sure exception matching and exception type are available
-        # XXX Comment out anywat
-        #e = self.translator.rtyper.getexceptiondata()
-        #for ll_helper in (e.ll_exception_match, e.ll_raise_OSError):
-        #    ptr = getfunctionptr(self.translator, ll_helper)
-        #    c = inputconst(lltype.typeOf(ptr), ptr)
-        #    self.db.prepare_arg_value(c)
-
         ptr = getfunctionptr(self.translator, func)
         c = inputconst(lltype.typeOf(ptr), ptr)
         entry_point = c.value._obj
@@ -273,7 +250,7 @@
                       filename,
                       really_compile=True,
                       standalone=False,
-                      optimize=False,   #XXX disabled because it breaks things (debug output)
+                      optimize=True,
                       exe_name=None):
 
         if not llvm_is_on_path():

Modified: pypy/dist/pypy/translator/translator.py
==============================================================================
--- pypy/dist/pypy/translator/translator.py	(original)
+++ pypy/dist/pypy/translator/translator.py	Wed Aug 17 15:31:15 2005
@@ -283,22 +283,12 @@
         from pypy.translator.llvm2 import genllvm
         if self.annotator is None:
             raise ValueError, "function has to be annotated."
+        if standalone:
+            exe_name = self.entrypoint.__name__
+        else:
+            exe_name = None
         self.frozen = True
-        return genllvm.genllvm(self, really_compile=really_compile, standalone=standalone, optimize=optimize)
-
-        #self.frozen = True
-        #if standalone:
-        #    builder = genllvm.LLVMStandaloneBuilder(self, optimize=optimize)
-        #else:
-        #    builder = genllvm.LLVMExtModuleBuilder(self, optimize=optimize)
-        #source_filename = builder.generate_source()
-        #if not really_compile:
-        #    return source_filename
-        #builder.compile()
-        #if standalone:
-        #    return builder.executable_name
-        #builder.import_module()
-        #return builder.get_entry_point()
+        return genllvm.genllvm(self, really_compile=really_compile, standalone=standalone, optimize=optimize, exe_name=exe_name)
 
     def call(self, *args):
         """Calls underlying Python function."""



More information about the Pypy-commit mailing list