[pypy-svn] r24455 - in pypy/dist/pypy/translator/backendopt: . test
cfbolz at codespeak.net
cfbolz at codespeak.net
Thu Mar 16 12:52:26 CET 2006
Author: cfbolz
Date: Thu Mar 16 12:52:24 2006
New Revision: 24455
Modified:
pypy/dist/pypy/translator/backendopt/inline.py
pypy/dist/pypy/translator/backendopt/test/test_inline.py
Log:
off by one error
Modified: pypy/dist/pypy/translator/backendopt/inline.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/inline.py (original)
+++ pypy/dist/pypy/translator/backendopt/inline.py Thu Mar 16 12:52:24 2006
@@ -69,8 +69,8 @@
return False
def inline_function(translator, inline_func, graph):
- for count, (subgraph, block, index_operation) in enumerate(
- iter_first_callsites(graph, inline_func)):
+ count = 0
+ for subgraph, block, index_operation in iter_first_callsites(graph, inline_func):
if contains_call(subgraph, subgraph):
raise CannotInline("inlining a recursive function")
operation = block.operations[index_operation]
Modified: pypy/dist/pypy/translator/backendopt/test/test_inline.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/test/test_inline.py (original)
+++ pypy/dist/pypy/translator/backendopt/test/test_inline.py Thu Mar 16 12:52:24 2006
@@ -58,6 +58,8 @@
def check_auto_inlining(func, sig, threshold=None):
t = translate(func, sig)
+ if option.view:
+ t.view()
# inline!
sanity_check(t) # also check before inlining (so we don't blame it)
if threshold is None:
@@ -65,6 +67,8 @@
else:
auto_inlining(t, threshold=threshold)
sanity_check(t)
+ if option.view:
+ t.view()
interp = LLInterpreter(t.rtyper)
def eval_func(args):
return interp.eval_graph(graphof(t, func), args)
@@ -85,6 +89,14 @@
result = eval_func([2, 12])
assert result == f(2, 12)
+def test_nothing_to_inline():
+ def f():
+ return 1
+ def g():
+ return 2
+ eval_func = check_inline(g, f, [])
+ assert eval_func([]) == 1
+
def test_inline_big():
def f(x):
result = []
More information about the Pypy-commit
mailing list