[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