[pypy-svn] r21208 - pypy/dist/pypy/translator/goal
ac at codespeak.net
ac at codespeak.net
Fri Dec 16 11:36:44 CET 2005
Author: ac
Date: Fri Dec 16 11:36:44 2005
New Revision: 21208
Modified:
pypy/dist/pypy/translator/goal/driver.py
pypy/dist/pypy/translator/goal/translate_pypy.py
Log:
Add option for merging if-blocks.
Modified: pypy/dist/pypy/translator/goal/driver.py
==============================================================================
--- pypy/dist/pypy/translator/goal/driver.py (original)
+++ pypy/dist/pypy/translator/goal/driver.py Fri Dec 16 11:36:44 2005
@@ -24,7 +24,8 @@
'insist': False,
'backend': 'c',
'lowmem': False,
- 'fork_before': None
+ 'fork_before': None,
+ 'merge_if_blocks': False
})
def taskdef(taskfunc, deps, title, new_state=None, expected_states=[], idemp=False):
@@ -182,7 +183,8 @@
def task_backendopt(self):
from pypy.translator.backendopt.all import backend_optimizations
opt = self.options
- backend_optimizations(self.translator, ssa_form=opt.backend != 'llvm')
+ backend_optimizations(self.translator, ssa_form=opt.backend != 'llvm',
+ merge_if_blocks_to_switch=opt.merge_if_blocks)
#
task_backendopt = taskdef(task_backendopt,
['rtype'], "Back-end optimisations")
Modified: pypy/dist/pypy/translator/goal/translate_pypy.py
==============================================================================
--- pypy/dist/pypy/translator/goal/translate_pypy.py (original)
+++ pypy/dist/pypy/translator/goal/translate_pypy.py Fri Dec 16 11:36:44 2005
@@ -50,6 +50,7 @@
'2_gc': [OPT(('--gc',), "Garbage collector", ['boehm', 'ref', 'none'])],
'3_stackless': [OPT(('--stackless',), "Stackless code generation", True)],
+ '4_merge_if_blocks': [OPT(('--merge_if_blocks',), "Merge if ... elif ... chains and use a switch statement for them.", True)],
},
@@ -101,6 +102,7 @@
'gc': 'boehm',
'backend': 'c',
'stackless': False,
+ 'merge_if_blocks': False,
'batch': False,
'text': False,
More information about the Pypy-commit
mailing list