From 57aedc85cd589ac468fb87083e697a34cfefb065 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 10 May 2012 00:33:43 -0400 Subject: [PATCH] CSE-on-creation: Don't create variables aliasing other variables. --- loopy/creation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/loopy/creation.py b/loopy/creation.py index 0337f7c8b..28be2b095 100644 --- a/loopy/creation.py +++ b/loopy/creation.py @@ -35,9 +35,11 @@ class CSEToAssignmentMapper(IdentityMapper): dtype = None child = self.rec(expr.child) + from pymbolic.primitives import Variable + if isinstance(child, Variable): + return child var_name = self.add_assignment(expr.prefix, child, dtype) - from pymbolic.primitives import Variable var = Variable(var_name) self.expr_to_var[expr.child] = var return var -- GitLab