diff --git a/ast.py b/ast.py index b4a32a000ed20c80cdf95eb6d3c951df0a055a32..60be3db9b2a543938c6b4f3d0ec88035a7bbcc4a 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 3578e525f9e18b262998eb6fc3daa97b8c925c7a..b8d99f75f454f041123646724370c4f494507350 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 e3cf473cbd98415ebb84986edd66d75f3eb8a3b3..fe11e77a46291a336e9c984ed741b9641de2c577 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 5f38bc384fb24b194ed924ba85c27be2574d1613..aea9eb56b5062163426c8139d545c33529ae50fb 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) +