Skip to content
Snippets Groups Projects

Draft: Do not reorder accesses in `move_constants_before_loop`

Closed Daniel Bauer requested to merge terraneo/pystencils:bauerd/move-constants into master
1 unresolved thread
1 file
+ 9
1
Compare changes
  • Side-by-side
  • Inline
@@ -129,11 +129,15 @@ def get_headers(ast_node: Node) -> Set[str]:
@@ -129,11 +129,15 @@ def get_headers(ast_node: Node) -> Set[str]:
# TODO future CustomCodeNode should not be backend specific move it elsewhere
# TODO future CustomCodeNode should not be backend specific move it elsewhere
class CustomCodeNode(Node):
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)
super(CustomCodeNode, self).__init__(parent=parent)
self._code = "\n" + code
self._code = "\n" + code
self._symbols_read = set(symbols_read)
self._symbols_read = set(symbols_read)
self._symbols_defined = set(symbols_defined)
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 = []
self.headers = []
def get_code(self, dialect, vector_instruction_set, print_arg):
def get_code(self, dialect, vector_instruction_set, print_arg):
@@ -147,6 +151,10 @@ class CustomCodeNode(Node):
@@ -147,6 +151,10 @@ class CustomCodeNode(Node):
def symbols_defined(self):
def symbols_defined(self):
return self._symbols_defined
return self._symbols_defined
 
@property
 
def symbols_modified(self):
 
return self._symbols_modified
 
@property
@property
def undefined_symbols(self):
def undefined_symbols(self):
return self._symbols_read - self._symbols_defined
return self._symbols_read - self._symbols_defined
Loading