diff --git a/src/pystencils/backend/transformations/hoist_loop_invariant_decls.py b/src/pystencils/backend/transformations/hoist_loop_invariant_decls.py index d284edd5840fdebb8e7eb795ba527f8a4fbbe3a5..2368868a99ec36b817f0f6fe6aa8ef55608ac0e1 100644 --- a/src/pystencils/backend/transformations/hoist_loop_invariant_decls.py +++ b/src/pystencils/backend/transformations/hoist_loop_invariant_decls.py @@ -176,9 +176,8 @@ class HoistLoopInvariantDeclarations: for node in block.statements: if isinstance(node, PsDeclaration): - if node.lhs.symbol not in hc.mutated_symbols and hc._is_invariant( - node.rhs - ): + lhs_symb = cast(PsSymbolExpr, node.lhs).symbol + if lhs_symb not in hc.mutated_symbols and hc._is_invariant(node.rhs): hc.hoisted_nodes.append(node) hc.invariant_symbols.add(node.declared_symbol) else: