[pypy-svn] r35942 - pypy/dist/pypy/translator/llvm

mwh at codespeak.net mwh at codespeak.net
Thu Dec 21 19:22:29 CET 2006


Author: mwh
Date: Thu Dec 21 19:22:28 2006
New Revision: 35942

Modified:
   pypy/dist/pypy/translator/llvm/buildllvm.py
Log:
a quick hack job to enable compiling llvm via c using gcc's profile directed
optimization.  is it possible to test this stuff some how?


Modified: pypy/dist/pypy/translator/llvm/buildllvm.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/buildllvm.py	(original)
+++ pypy/dist/pypy/translator/llvm/buildllvm.py	Thu Dec 21 19:22:28 2006
@@ -104,15 +104,28 @@
     else:
         cmds.append("llc %s.bc -march=c -f -o %s.c" % (b, b))
         if exe_name:
-            cmd = "gcc %s.c -c -O3 -pipe" % b
-            if profile:
-                cmd += ' -pg'
+            if genllvm.config.translation.profopt is not None:
+                cmd = "gcc -fprofile-generate %s.c -c -O3 -pipe -o %s.o" % (b, b)
+                cmds.append(cmd)
+                cmd = "gcc -fprofile-generate %s.o %s %s -lm -pipe -o %s_gen" % \
+                      (b, gc_libs_path, gc_libs, exe_name)
+                cmds.append(cmd)
+                cmds.append("./%s_gen %s"%(exe_name, genllvm.config.translation.profopt))
+                cmds.append(cmd)
+                cmd = "gcc -fprofile-use %s.c -c -O3 -pipe -o %s.o" % (b, b)
+                cmds.append(cmd)
+                cmd = "gcc -fprofile-use %s.o %s %s -lm -pipe -o %s" % \
+                      (b, gc_libs_path, gc_libs, exe_name)
             else:
-                cmd += ' -fomit-frame-pointer'
-            cmds.append(cmd)
-            cmd = "gcc %s.o %s %s -lm -pipe -o %s" % (b, gc_libs_path, gc_libs, exe_name)
-            if profile:
-                cmd += ' -pg'
+                cmd = "gcc %s.c -c -O3 -pipe" % b
+                if profile:
+                    cmd += ' -pg'
+                else:
+                    cmd += ' -fomit-frame-pointer'
+                cmds.append(cmd)
+                cmd = "gcc %s.o %s %s -lm -pipe -o %s" % (b, gc_libs_path, gc_libs, exe_name)
+                if profile:
+                    cmd += ' -pg'
             cmds.append(cmd)
         source_files.append("%s.c" % b)
 



More information about the Pypy-commit mailing list