[pypy-svn] r22726 - pypy/dist/pypy/translator/llvm/demo

rxe at codespeak.net rxe at codespeak.net
Fri Jan 27 13:52:26 CET 2006


Author: rxe
Date: Fri Jan 27 13:52:24 2006
New Revision: 22726

Modified:
   pypy/dist/pypy/translator/llvm/demo/run.py
Log:
Added back 'c' option for comparison fun!



Modified: pypy/dist/pypy/translator/llvm/demo/run.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/demo/run.py	(original)
+++ pypy/dist/pypy/translator/llvm/demo/run.py	Fri Jan 27 13:52:24 2006
@@ -5,12 +5,28 @@
 from pypy.annotation.model import SomeList, SomeString
 from pypy.annotation.listdef import ListDef
 
+from pypy.translator.translator import TranslationContext
+from pypy.translator.c.genc import CStandaloneBuilder
+    
 from pypy.translator.llvm.genllvm import genllvm_compile
 
 def p():
     print 'Running on top of CPython:'
     entry_point([])
 
+def c(name):
+    s_list_of_strings = SomeList(ListDef(None, SomeString()))
+    s_list_of_strings.listdef.resize()
+    t = TranslationContext()
+    t.buildannotator().build_types(entry_point, [s_list_of_strings])
+    t.buildrtyper().specialize()
+    from pypy.translator.backendopt.all import backend_optimizations
+    backend_optimizations(t)
+    cbuilder = CStandaloneBuilder(t, entry_point)
+    cbuilder.generate_source()
+    cbuilder.compile()
+    os.system("XXX")
+    
 def l(name):
     s_list_of_strings = SomeList(ListDef(None, SomeString()))
     s_list_of_strings.listdef.resize()
@@ -32,7 +48,11 @@
         elif sys.argv[1] == "l":
             l(name)
             run_all = False
+        elif sys.argv[1] == "c":
+            c(name)
+            run_all = False
             
     if run_all:
         l(name)
+        c(name)
         p()



More information about the Pypy-commit mailing list