[pypy-svn] r21259 - in pypy/dist/pypy/translator/llvm: . backendopt
ericvrp at codespeak.net
ericvrp at codespeak.net
Sat Dec 17 20:16:29 CET 2005
Author: ericvrp
Date: Sat Dec 17 20:16:23 2005
New Revision: 21259
Modified:
pypy/dist/pypy/translator/llvm/backendopt/exception.py
pypy/dist/pypy/translator/llvm/backendopt/mergemallocs.py
pypy/dist/pypy/translator/llvm/backendopt/removeexcmallocs.py
pypy/dist/pypy/translator/llvm/funcnode.py
Log:
use graph.iterblocks()
Modified: pypy/dist/pypy/translator/llvm/backendopt/exception.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/backendopt/exception.py (original)
+++ pypy/dist/pypy/translator/llvm/backendopt/exception.py Sat Dec 17 20:16:23 2005
@@ -17,8 +17,7 @@
global n_calls, n_calls_patched
n_calls_patched_begin = n_calls_patched
e = translator.rtyper.getexceptiondata()
- blocks = [x for x in flatten(graph) if isinstance(x, Block)]
- for block in blocks:
+ for block in graph.iterblocks():
last_operation = len(block.operations)-1
if block.exitswitch == c_last_exception:
last_operation -= 1
Modified: pypy/dist/pypy/translator/llvm/backendopt/mergemallocs.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/backendopt/mergemallocs.py (original)
+++ pypy/dist/pypy/translator/llvm/backendopt/mergemallocs.py Sat Dec 17 20:16:23 2005
@@ -1,4 +1,4 @@
-from pypy.objspace.flow.model import Block, flatten, SpaceOperation, Constant, Variable
+from pypy.objspace.flow.model import SpaceOperation, Constant, Variable
from pypy.rpython.lltypesystem.lltype import GcStruct, Void, Ptr
from pypy.translator.llvm.backendopt.support import log
@@ -14,8 +14,7 @@
warning: some will consider this a dirty hack, that's ok! :)
"""
n_times_merged = 0
- blocks = [x for x in flatten(graph) if isinstance(x, Block)]
- for block in blocks:
+ for block in graph.iterblocks():
mallocs = [[], []]
for i, op in enumerate(block.operations):
if op.opname != 'malloc' or op.args[0].value._arrayfld:
Modified: pypy/dist/pypy/translator/llvm/backendopt/removeexcmallocs.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/backendopt/removeexcmallocs.py (original)
+++ pypy/dist/pypy/translator/llvm/backendopt/removeexcmallocs.py Sat Dec 17 20:16:23 2005
@@ -18,8 +18,7 @@
"""
n_removed = 0
n_removed_of_type = {}
- blocks = [x for x in flatten(graph) if isinstance(x, Block)]
- for block in blocks:
+ for block in graph.iterblocks():
ops = block.operations
if len(ops) < 3 or \
ops[0].opname != 'malloc' or ops[1].opname != 'cast_pointer' or \
Modified: pypy/dist/pypy/translator/llvm/funcnode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/funcnode.py (original)
+++ pypy/dist/pypy/translator/llvm/funcnode.py Sat Dec 17 20:16:23 2005
@@ -1,5 +1,5 @@
from pypy.objspace.flow.model import Block, Constant, Link
-from pypy.objspace.flow.model import flatten, mkentrymap, traverse, c_last_exception
+from pypy.objspace.flow.model import mkentrymap, traverse, c_last_exception
from pypy.rpython.lltypesystem import lltype
from pypy.translator.llvm.node import LLVMNode, ConstantLLVMNode
from pypy.translator.llvm.opwriter import OpWriter
@@ -79,11 +79,10 @@
codewriter.openfunc(self.getdecl(), self is self.db.entrynode)
nextblock = graph.startblock
args = graph.startblock.inputargs
- l = [x for x in flatten(graph) if isinstance(x, Block)]
self.block_to_name = {}
- for i, block in enumerate(l):
+ for i, block in enumerate(graph.iterblocks()):
self.block_to_name[block] = "block%s" % i
- for block in l:
+ for block in graph.iterblocks():
codewriter.label(self.block_to_name[block])
for name in 'startblock returnblock exceptblock'.split():
if block is getattr(graph, name):
@@ -95,8 +94,7 @@
def writecomments(self, codewriter):
""" write operations strings for debugging purposes. """
- blocks = [x for x in flatten(self.graph) if isinstance(x, Block)]
- for block in blocks:
+ for block in self.graph.iterblocks():
for op in block.operations:
strop = str(op) + "\n\x00"
l = len(strop)
More information about the Pypy-commit
mailing list