[pypy-svn] r25489 - in pypy/dist/pypy/translator: backendopt c

cfbolz at codespeak.net cfbolz at codespeak.net
Fri Apr 7 12:25:52 CEST 2006


Author: cfbolz
Date: Fri Apr  7 12:25:51 2006
New Revision: 25489

Modified:
   pypy/dist/pypy/translator/backendopt/all.py
   pypy/dist/pypy/translator/c/exceptiontransform.py
Log:
remove superfluous keepalives after inlining and the excpetion transform


Modified: pypy/dist/pypy/translator/backendopt/all.py
==============================================================================
--- pypy/dist/pypy/translator/backendopt/all.py	(original)
+++ pypy/dist/pypy/translator/backendopt/all.py	Fri Apr  7 12:25:51 2006
@@ -1,5 +1,5 @@
 from pypy.translator.backendopt.raisingop2direct_call import raisingop2direct_call
-from pypy.translator.backendopt.removenoops import remove_same_as
+from pypy.translator.backendopt.removenoops import remove_same_as, remove_superfluous_keep_alive
 from pypy.translator.backendopt.inline import auto_inlining
 from pypy.translator.backendopt.malloc import remove_simple_mallocs
 from pypy.translator.backendopt.ssa import SSI_to_SSA
@@ -44,6 +44,8 @@
     # inline functions in each other
     if inline_threshold:
         auto_inlining(translator, inline_threshold)
+        for graph in translator.graphs:
+            remove_superfluous_keep_alive(graph)
 
     if PRINT_STATISTICS:
         print "after inlining:"

Modified: pypy/dist/pypy/translator/c/exceptiontransform.py
==============================================================================
--- pypy/dist/pypy/translator/c/exceptiontransform.py	(original)
+++ pypy/dist/pypy/translator/c/exceptiontransform.py	Fri Apr  7 12:25:51 2006
@@ -1,6 +1,6 @@
 from pypy.translator.simplify import join_blocks, cleanup_graph
 from pypy.translator.unsimplify import copyvar, split_block
-from pypy.translator.backendopt import canraise, inline, support
+from pypy.translator.backendopt import canraise, inline, support, removenoops
 from pypy.objspace.flow.model import Block, Constant, Variable, Link, \
     c_last_exception, SpaceOperation, checkgraph, FunctionGraph
 from pypy.rpython.lltypesystem import lltype, llmemory
@@ -131,6 +131,7 @@
             self.transform_block(graph, block)
         self.transform_except_block(graph, graph.exceptblock)
         cleanup_graph(graph)
+        removenoops.remove_superfluous_keep_alive(graph)
 
     def transform_block(self, graph, block):
         if block is graph.exceptblock:



More information about the Pypy-commit mailing list