[pypy-svn] r26994 - in pypy/dist/pypy/translator/backendopt: . test
pedronis at codespeak.net
pedronis at codespeak.net
Tue May 9 14:08:17 CEST 2006
Author: pedronis
Date: Tue May 9 14:08:16 2006
New Revision: 26994
Modified:
pypy/dist/pypy/translator/backendopt/propagate.py
pypy/dist/pypy/translator/backendopt/test/test_propagate.py
Log:
fix for typo and test.
Modified: pypy/dist/pypy/translator/backendopt/propagate.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/propagate.py (original)
+++ pypy/dist/pypy/translator/backendopt/propagate.py Tue May 9 14:08:16 2006
@@ -167,7 +167,7 @@
continue
# don't fold stuff with exception handling
if (block.exitswitch == c_last_exception and
- i == len(block.operation) - 1):
+ i == len(block.operations) - 1):
continue
if analyzer.analyze(op):
continue
Modified: pypy/dist/pypy/translator/backendopt/test/test_propagate.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/test/test_propagate.py (original)
+++ pypy/dist/pypy/translator/backendopt/test/test_propagate.py Tue May 9 14:08:16 2006
@@ -1,6 +1,7 @@
import py
from pypy.translator.translator import TranslationContext, graphof
from pypy.translator.backendopt.propagate import *
+from pypy.rpython.rarithmetic import ovfcheck
from pypy.translator.backendopt.all import backend_optimizations
from pypy.rpython.llinterp import LLInterpreter
from pypy.rpython.memory.test.test_gctransform import getops
@@ -122,6 +123,23 @@
assert len(graph.startblock.operations) == 0
check_graph(graph, [1], g(1), t)
+def test_dont_constant_fold_exc():
+ def f(x):
+ return 1
+ def g(x):
+ y = f(x)
+ try:
+ return ovfcheck(1 + y)
+ except OverflowError:
+ return 0
+ graph, t = get_graph(g, [int])
+ constant_folding(graph, t)
+ if conftest.option.view:
+ t.view()
+ assert len(graph.startblock.operations) == 1
+ check_graph(graph, [1], g(1), t)
+
+
def test_constant_fold_call():
def s(x):
res = 0
More information about the Pypy-commit
mailing list