[pypy-svn] r37576 - in pypy/dist/pypy: config translator translator/backendopt

pedronis at codespeak.net pedronis at codespeak.net
Tue Jan 30 01:34:12 CET 2007


Author: pedronis
Date: Tue Jan 30 01:34:10 2007
New Revision: 37576

Modified:
   pypy/dist/pypy/config/translationoption.py
   pypy/dist/pypy/translator/backendopt/all.py
   pypy/dist/pypy/translator/driver.py
Log:
have an option to turn off explictly basic inlining (and malloc removal which makes little sense without a bit of inlining).

Use this instead of copying the threshold for oo backendopts in the driver.



Modified: pypy/dist/pypy/config/translationoption.py
==============================================================================
--- pypy/dist/pypy/config/translationoption.py	(original)
+++ pypy/dist/pypy/config/translationoption.py	Tue Jan 30 01:34:10 2007
@@ -94,6 +94,8 @@
 
     OptionDescription("backendopt", "Backend Optimization Options", [
         # control inlining
+        BoolOption("inline", "Do basic inlining and malloc removal",
+                   default=True),
         FloatOption("inline_threshold", "Threshold when to inline functions",
                   default=DEFL_INLINE_THRESHOLD, cmdline="--inline-threshold"),
         StrOption("inline_heuristic", "Dotted name of an heuristic function "

Modified: pypy/dist/pypy/translator/backendopt/all.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/all.py	(original)
+++ pypy/dist/pypy/translator/backendopt/all.py	Tue Jan 30 01:34:10 2007
@@ -64,7 +64,7 @@
         print "after no-op removal:"
         print_statistics(translator.graphs[0], translator)
 
-    if config.inline_threshold != 0:
+    if config.inline and config.inline_threshold != 0:
         heuristic = get_function(config.inline_heuristic)
         inline_malloc_removal_phase(config, translator, graphs,
                                     config.inline_threshold,

Modified: pypy/dist/pypy/translator/driver.py
==============================================================================
--- pypy/dist/pypy/translator/driver.py	(original)
+++ pypy/dist/pypy/translator/driver.py	Tue Jan 30 01:34:10 2007
@@ -348,7 +348,7 @@
         from pypy.translator.backendopt.all import backend_optimizations
         opt = dict(
             raisingop2direct_call=False,
-            inline_threshold=0,
+            inline=False,
             mallocs=False,
             merge_if_blocks=False,
             constfold=False,
@@ -356,11 +356,11 @@
             clever_malloc_removal=False)
         if self.config.translation.backend == 'cli':
             opt['merge_if_blocks'] = True
-            opt['inline_threshold'] = self.config.translation.backendopt.inline_threshold
+            opt['inline'] = True
             opt['mallocs'] = True
             
         if self.config.translation.backend == 'jvm':
-            opt['inline_threshold'] = self.config.translation.backendopt.inline_threshold
+            opt['inline'] = True
             opt['mallocs'] = True
         backend_optimizations(self.translator, **opt)
     #



More information about the Pypy-commit mailing list