From 88301cda0376bb89d83e4ffc68d7d5c7e06de4a3 Mon Sep 17 00:00:00 2001 From: Rafael Ravedutti Lucio Machado <rafael.r.ravedutti@fau.de> Date: Wed, 6 Jan 2021 17:11:37 +0100 Subject: [PATCH] Readd transformation to simplify expressions Signed-off-by: Rafael Ravedutti Lucio Machado <rafael.r.ravedutti@fau.de> --- ast/arrays.py | 4 ++++ ast/expr.py | 1 + sim/particle_simulation.py | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ast/arrays.py b/ast/arrays.py index 56f2f03..1982693 100644 --- a/ast/arrays.py +++ b/ast/arrays.py @@ -199,6 +199,10 @@ class ArrayAccess: def transform(self, fn): self.array = self.array.transform(fn) self.indexes = [i.transform(fn) for i in self.indexes] + + if self.index is not None: + self.index = self.index.transform(fn) + return fn(self) diff --git a/ast/expr.py b/ast/expr.py index 371ca0e..93db1df 100644 --- a/ast/expr.py +++ b/ast/expr.py @@ -227,5 +227,6 @@ class BinOp: def transform(self, fn): self.lhs = self.lhs.transform(fn) self.rhs = self.rhs.transform(fn) + self.bin_op_vector_index_mapping = {i: e.transform(fn) for i, e in self.bin_op_vector_index_mapping.items()} return fn(self) diff --git a/sim/particle_simulation.py b/sim/particle_simulation.py index ddabe68..766b7f2 100644 --- a/sim/particle_simulation.py +++ b/sim/particle_simulation.py @@ -194,7 +194,7 @@ class ParticleSimulation: self.global_scope = program Block.set_block_levels(program) Transform.apply(program, Transform.flatten) - #Transform.apply(program, Transform.simplify) + Transform.apply(program, Transform.simplify) #Transform.apply(program, Transform.reuse_index_expressions) #Transform.apply(program, Transform.reuse_expr_expressions) #Transform.apply(program, Transform.reuse_array_access_expressions) -- GitLab