Skip to content
Snippets Groups Projects

Draft: Do not reorder accesses in `move_constants_before_loop`

5 files
+ 105
20
Compare changes
  • Side-by-side
  • Inline

Files

@@ -129,11 +129,15 @@ def get_headers(ast_node: Node) -> Set[str]:
# TODO future CustomCodeNode should not be backend specific move it elsewhere
class CustomCodeNode(Node):
def __init__(self, code, symbols_read, symbols_defined, parent=None):
def __init__(self, code, symbols_read, symbols_defined, parent=None, symbols_modified=None):
super(CustomCodeNode, self).__init__(parent=parent)
self._code = "\n" + code
self._symbols_read = set(symbols_read)
self._symbols_defined = set(symbols_defined)
if symbols_modified is None:
self._symbols_modified = self._symbols_defined
else:
self._symbols_modified = set(symbols_modified)
self.headers = []
def get_code(self, dialect, vector_instruction_set, print_arg):
@@ -147,6 +151,10 @@ class CustomCodeNode(Node):
def symbols_defined(self):
return self._symbols_defined
@property
def symbols_modified(self):
return self._symbols_modified
@property
def undefined_symbols(self):
return self._symbols_read - self._symbols_defined
Loading