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