[pypy-svn] r19947 - pypy/dist/pypy/translator/goal

rxe at codespeak.net rxe at codespeak.net
Wed Nov 16 20:21:32 CET 2005


Author: rxe
Date: Wed Nov 16 20:21:30 2005
New Revision: 19947

Modified:
   pypy/dist/pypy/translator/goal/driver.py
Log:
This is needed to translate with llvm now.



Modified: pypy/dist/pypy/translator/goal/driver.py
==============================================================================
--- pypy/dist/pypy/translator/goal/driver.py	(original)
+++ pypy/dist/pypy/translator/goal/driver.py	Wed Nov 16 20:21:30 2005
@@ -265,26 +265,28 @@
                                ['?backendopt', 'rtype'], 
                                "LLInterpreting")
 
-    def task_source_llvm(self): # xxx messy
+    def task_source_llvm(self):
         translator = self.translator
         opts = self.options
         if translator.annotator is None:
-            raise ValueError, "function has to be annotated."
+            raise ValueError, "llvm requires annotation."
+
         from pypy.translator.llvm import genllvm
+
+        # XXX Need more options for policies/llvm-backendoptions here?
+        gc_opts = self.options.gc
         self.llvmgen = genllvm.GenLLVM(translator, 
-                                       genllvm.GcPolicy.new(opts.gc), 
+                                       genllvm.GcPolicy.new(gc_opts), 
                                        genllvm.ExceptionPolicy.new(None))
-        self.llvm_filename = self.llvmgen.gen_llvm_source()
-        self.log.info("written: %s" % (self.llvm_filename,))
+        llvm_filename = self.llvmgen.gen_llvm_source()
+        self.log.info("written: %s" % (llvm_filename,))
     #
     task_source_llvm = taskdef(task_source_llvm, 
                                ['backendopt', 'rtype'], 
                                "Generating llvm source")
 
-    def task_compile_llvm(self): # xxx messy
-        self.c_entryp = self.llvmgen.create_module(self.llvm_filename,
-                                                   standalone=self.standalone,
-                                                   exe_name = 'pypy-llvm')
+    def task_compile_llvm(self):
+        self.c_entryp = self.llvmgen.compile_llvm_source(exe_name='pypy-llvm')
         if self.standalone:
             import shutil
             exename = mkexename(self.c_entryp)



More information about the Pypy-commit mailing list