diff --git a/python/dune/perftool/blockstructured/vectorization.py b/python/dune/perftool/blockstructured/vectorization.py index 32debee0bdfb5666ccd6f63bc6acdfa2757aaf62..ee76a4b8cf2420adf34a705ee77a992fc0e0daf5 100644 --- a/python/dune/perftool/blockstructured/vectorization.py +++ b/python/dune/perftool/blockstructured/vectorization.py @@ -252,9 +252,13 @@ def add_vcl_access(knl, iname_inner): else: if insn.id in accum_insns: assignee_alias = insn.assignee - assignee_vec = next((expr for expr in insn.expression.children - if isinstance(expr, prim.Subscript) and - expr.aggregate.name.replace('vec', 'alias') == assignee_alias.aggregate.name)) + try: + assignee_vec = next((expr for expr in insn.expression.children + if isinstance(expr, prim.Subscript) and + expr.aggregate.name.replace('vec', 'alias') == assignee_alias.aggregate.name)) + except StopIteration: + from dune.perftool.error import PerftoolVectorizationError + raise PerftoolVectorizationError new_insns.append(insn.copy(assignee=assignee_vec, depends_on=insn.depends_on | read_dependencies[insn.id])) else: