From a211a120b8eb9e3f409d010641c1f043cb4620c9 Mon Sep 17 00:00:00 2001 From: Jan Hoenig <hrominium@gmail.com> Date: Fri, 16 Dec 2016 10:08:44 +0100 Subject: [PATCH] Removing function children. Args does the same --- ast.py | 13 +------------ backends/dot.py | 4 ++-- backends/llvm.py | 2 +- transformations.py | 3 ++- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/ast.py b/ast.py index b4a32a000..60be3db9b 100644 --- a/ast.py +++ b/ast.py @@ -36,9 +36,6 @@ class Node(object): result.update(arg.atoms(argType)) return result - def children(self): - yield None - class KernelFunction(Node): @@ -99,7 +96,7 @@ class KernelFunction(Node): @property def args(self): - return [self._body] + yield self._body @property def fieldsAccessed(self): @@ -113,8 +110,6 @@ class KernelFunction(Node): l.isFieldStrideArgument, l.name), reverse=True) - def children(self): - yield self.body def __str__(self): self._updateParameters() @@ -182,9 +177,6 @@ class Block(Node): definedSymbols.update(a.symbolsDefined) return result - definedSymbols - def children(self): - return self._nodes - def __str__(self): return ''.join('{!s}\n'.format(node) for node in self._nodes) @@ -285,9 +277,6 @@ class LoopOverCoordinate(Node): def coordinateToLoopOver(self): return self._coordinateToLoopOver - def children(self): - yield self.body - def __str__(self): return 'loop:{!s} in {!s}:{!s}:{!s}\n{!s}'.format(self.loopCounterName, self.start, self.stop, self.step, textwrap.indent(str(self.body), '\t')) diff --git a/backends/dot.py b/backends/dot.py index 3578e525f..b8d99f75f 100644 --- a/backends/dot.py +++ b/backends/dot.py @@ -21,10 +21,10 @@ class DotPrinter(Printer): self._print(loop.body) def _print_Block(self, block): - for node in block.children(): + for node in block.args: self._print(node) parent = block.parent - for node in block.children(): + for node in block.args: self.dot.edge(self._nodeToStrFunction(parent), self._nodeToStrFunction(node)) #parent = node diff --git a/backends/llvm.py b/backends/llvm.py index e3cf473cb..fe11e77a4 100644 --- a/backends/llvm.py +++ b/backends/llvm.py @@ -122,7 +122,7 @@ class LLVMPrinter(Printer): return fn def _print_Block(self, block): - for node in block.children(): + for node in block.args: self._print(node) def _print_LoopOverCoordinate(self, loop): diff --git a/transformations.py b/transformations.py index 5f38bc384..aea9eb56b 100644 --- a/transformations.py +++ b/transformations.py @@ -515,4 +515,5 @@ def getLoopHierarchy(astNode): node = getNextParentOfType(node, ast.LoopOverCoordinate) if node: result.append(node.coordinateToLoopOver) - return reversed(result) \ No newline at end of file + return reversed(result) + -- GitLab