[pypy-commit] pypy inline-earlier: move search_for_calls() out of BaseInliner, since it's only used by Inliner
rlamy
noreply at buildbot.pypy.org
Fri Oct 10 18:41:44 CEST 2014
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: inline-earlier
Changeset: r73891:44de8be2cd36
Date: 2014-10-09 02:55 +0100
http://bitbucket.org/pypy/pypy/changeset/44de8be2cd36/
Log: move search_for_calls() out of BaseInliner, since it's only used by
Inliner
diff --git a/rpython/translator/backendopt/inline.py b/rpython/translator/backendopt/inline.py
--- a/rpython/translator/backendopt/inline.py
+++ b/rpython/translator/backendopt/inline.py
@@ -210,26 +210,6 @@
self.entrymap = mkentrymap(self.graph_to_inline)
self.do_inline(block, index_operation)
- def search_for_calls(self, block):
- d = {}
- for i, op in enumerate(block.operations):
- if op.opname == "direct_call":
- funcobj = op.args[0].value._obj
- else:
- continue
- graph = getattr(funcobj, 'graph', None)
- # accept a function or a graph as 'inline_func'
- if (graph is self.inline_func or
- getattr(funcobj, '_callable', None) is self.inline_func):
- d[i] = graph
- if d:
- self.block_to_index[block] = d
- else:
- try:
- del self.block_to_index[block]
- except KeyError:
- pass
-
def get_new_name(self, var):
if var is None:
return None
@@ -464,6 +444,27 @@
for g, block, i in callsites:
self.block_to_index.setdefault(block, {})[i] = g
+ def search_for_calls(self, block):
+ d = {}
+ for i, op in enumerate(block.operations):
+ if op.opname == "direct_call":
+ funcobj = op.args[0].value._obj
+ else:
+ continue
+ graph = getattr(funcobj, 'graph', None)
+ # accept a function or a graph as 'inline_func'
+ if (graph is self.inline_func or
+ getattr(funcobj, '_callable', None) is self.inline_func):
+ d[i] = graph
+ if d:
+ self.block_to_index[block] = d
+ else:
+ try:
+ del self.block_to_index[block]
+ except KeyError:
+ pass
+
+
class OneShotInliner(BaseInliner):
def search_for_calls(self, block):
pass
More information about the pypy-commit
mailing list